Fungsi meruap di Golang

Fungsi variadik dalam Go membolehkan anda menghantar nombor pemboleh ubah argumen kepada fungsi. Ciri ini berguna apabila anda tidak mengetahui terlebih dahulu jumlah hujah yang akan anda luluskan. Fungsi variadic Golang  menerima berbilang argumen daripada jenis yang sama dan boleh dipanggil dengan sebarang bilangan argumen, termasuk tiada.

Fungsi meruap di Golang

package main
import "fmt"

// Hàm Variadic tính tổng
func sum(nums ...int) int {
    total := 0
    for _, n := range nums {
        total += n
    }
    return total
}

func main() {
    fmt.Println("Sum of 1, 2, 3:", sum(1, 2, 3))
    fmt.Println("Sum of 4, 5:", sum(4, 5))
    fmt.Println("Sum of no numbers:", sum())
}

Keputusan:

Sum of 1, 2, 3: 6
Sum of 4, 5: 9
Sum of no numbers: 0

Sintaks:

func functionName(parameters ...Type) ReturnType {
    // Code
}

Dalam sintaks di atas:

  • parameters ...Typemenunjukkan bahawa fungsi boleh menerima pembolehubah bilangan argumen jenis Jenis.
  • Anda boleh mengakses argumen dalam fungsi sebagai kepingan.

Cara menggunakan fungsi yang tidak pasti dalam Golang

Menggunakan fungsi Variadic

Apabila mentakrifkan fungsi variadic, anda menentukan jenis hujah diikuti dengan elipsis (...) seperti dalam contoh di atas. Di dalam fungsi, hujah ini boleh dianggap sebagai kepingan.

Memanggil fungsi variadic

Anda boleh memanggil fungsi variadic dengan sebarang bilangan argumen, termasuk sifar. Fungsi ini menganggap hujah sebagai hirisan.

Contohnya:

package main
import "fmt"

func sum(nums ...int) int {
    total := 0
    for _, n := range nums {
        total += n
    }
    return total
}

func main() {
    fmt.Println("Sum of 1, 2, 3:", sum(1, 2, 3))
    fmt.Println("Sum of 4, 5:", sum(4, 5))
    fmt.Println("Sum of no numbers:", sum())
}

Keputusan:

Sum of 1, 2, 3: 6
Sum of 4, 5: 9
Sum of no numbers: 0

Fungsi variadik dengan parameter berbeza

Anda juga boleh menggabungkan parameter variadic dengan parameter biasa dalam fungsi. Parameter variadic mesti sentiasa menjadi parameter terakhir.

Contohnya:

package main
import "fmt"

// Hàm Variadic tính tổng
func sum(nums ...int) int {
    total := 0
    for _, n := range nums {
        total += n
    }
    return total
}

// Hàm với tham số thông thường và variadic 
func greet(prefix string, nums ...int) {
    fmt.Println(prefix)
    for _, n := range nums {
        fmt.Println("Number:", n)
    }
}
func main() {
    greet("Sum of numbers:", 1, 2, 3)
    greet("Another sum:", 4, 5)
    greet("No numbers sum:")
}

Keputusan:

Sum of numbers:
Number: 1
Number: 2
Number: 3
Another sum:
Number: 4
Number: 5
No numbers sum:

Had fungsi Variadic

  • Fungsi variadic hanya boleh mempunyai satu parameter variadic dan ia mestilah parameter terakhir.
  • Anda tidak boleh mempunyai berbilang parameter variadic dalam satu definisi fungsi.
Sign up and earn $1000 a day ⋙

Leave a Comment

Tidak memerlukan berbilang apl Adobe Mudah Alih, Adobe Express ialah satu-satunya apl yang anda perlukan!

Tidak memerlukan berbilang apl Adobe Mudah Alih, Adobe Express ialah satu-satunya apl yang anda perlukan!

Adobe menawarkan lebih daripada 4 apl pengeditan foto khusus pada telefon - semuanya sangat serupa, sukar untuk mentafsir yang mana satu yang anda perlukan.

5 alat yang menjadikan TV biasa menjadi pintar

5 alat yang menjadikan TV biasa menjadi pintar

TV biasa masih boleh mempelajari helah baharu dengan beberapa alat dan menjadi lebih baik daripada TV pintar mahal dalam beberapa minit.

Cara menggunakan alat kawalan jauh penghawa dingin Panasonic

Cara menggunakan alat kawalan jauh penghawa dingin Panasonic

Menggunakan alat kawalan jauh penghawa dingin Panasonic dengan betul akan membantu kami memanfaatkan ciri-ciri pada penghawa dingin.

Gemini melancarkan Talk Live tentang untuk foto, fail dan YouTube

Gemini melancarkan Talk Live tentang untuk foto, fail dan YouTube

Gemini Live telah menambah ciri "Talk Live about" dan ia kini akan dilancarkan dengan lebih meluas pada peranti Android. Sebelum ini, Gemini Live hanya menerima input suara, tetapi "Talk Live about" telah mengembangkan muat naik kandungan

Microsoft Copilot Ditingkatkan dengan Penyelidikan Dalam

Microsoft Copilot Ditingkatkan dengan Penyelidikan Dalam

Microsoft akhirnya membawa fungsi Deep Research kepada Copilot AI mereka. Ia membolehkan pengguna menjalankan penyelidikan menyeluruh dan berbilang langkah mengenai sebarang topik.

Cara Mengubah Foto menjadi Lakaran Pensel dalam Photoshop

Cara Mengubah Foto menjadi Lakaran Pensel dalam Photoshop

Tutorial ini akan menunjukkan kepada anda cara menukar foto menjadi lakaran pensel dengan mudah menggunakan Adobe Photoshop.

Fungsi meruap di Golang

Fungsi meruap di Golang

Fungsi variadik dalam Go membolehkan anda menghantar nombor pemboleh ubah argumen kepada fungsi. Berikut ialah semua yang anda perlu tahu tentang fungsi yang tidak menentu di Golang.

Cara menulis huruf berwarna dalam Lien Quan Mobile

Cara menulis huruf berwarna dalam Lien Quan Mobile

Untuk menulis teks berwarna dalam Lien Quan Mobile, ikut arahan dalam artikel ini. Aksara berwarna LQ Mobile akan menjadi lebih ketara.

7 Proses Pengurus Tugas Yang Tidak Patut Berakhir

7 Proses Pengurus Tugas Yang Tidak Patut Berakhir

Bahagian proses sistem Windows, yang terletak di bahagian bawah senarai dalam Pengurus Tugas Windows 10, mengandungi beberapa proses penting yang penting untuk komputer anda berjalan dengan betul.

Apple membenarkan pengguna kekal menggunakan iOS 15.7 sebelum menaik taraf kepada iOS 16

Apple membenarkan pengguna kekal menggunakan iOS 15.7 sebelum menaik taraf kepada iOS 16

Apple membenarkan pengguna untuk kekal menggunakan iOS 15 sementara masih menerima kemas kini keselamatan sebelum menaik taraf kepada iOS 16.

Keputusan penilaian prestasi CPU Intel Core Ultra 5 225H, Core Ultra 7 255H dan Core Ultra 9 285H CPU tersedia di Geekbench

Keputusan penilaian prestasi CPU Intel Core Ultra 5 225H, Core Ultra 7 255H dan Core Ultra 9 285H CPU tersedia di Geekbench

Tiga SKU daripada barisan mudah alih Arrow Lake-H Intel yang akan datang telah diuji di Geekbench, mendedahkan prestasi dan spesifikasi teras tunggal dan berbilang teras yang cukup mengagumkan.

Siapa sangka proses menghasilkan gelang getah yang biasa dilakukan begitu rumit dan rumit?

Siapa sangka proses menghasilkan gelang getah yang biasa dilakukan begitu rumit dan rumit?

Gelang getah kecil kelihatan mudah, tetapi proses pembuatannya lebih rumit daripada yang anda fikirkan. Di bawah ialah keseluruhan proses membuat jalur elastik.

9 fakta menarik tentang Mercury

9 fakta menarik tentang Mercury

Mercury ialah planet terkecil dalam Sistem Suria dan juga planet yang paling hampir dengan Matahari. Utarid mengelilingi Matahari pada kelajuan yang sangat pantas, dengan purata hampir 106,000 batu sejam. Ini hanyalah sebahagian daripada banyak fakta menarik tentang planet ini.

Apakah saiz TV 32-inci, 40-inci, 43-inci, 55-inci... daripada Sony, Samsung, LG?

Apakah saiz TV 32-inci, 40-inci, 43-inci, 55-inci... daripada Sony, Samsung, LG?

Artikel di bawah akan membantu anda memahami saiz saluran TV semasa daripada Sony, Samsung dan LG supaya anda boleh membuat keputusan pembelian yang betul.

7 Tweak Teknologi Mudah Yang Meningkatkan Kualiti Hidup Anda Secara Dramatik

7 Tweak Teknologi Mudah Yang Meningkatkan Kualiti Hidup Anda Secara Dramatik

Mewujudkan hubungan yang sihat dengan teknologi boleh kelihatan menakutkan, tetapi perubahan kecil sering membuat perbezaan yang besar.