Semasa proses pembangunan, kami sering menghadapi situasi di mana kami perlu melepasi bilangan parameter yang tidak ditentukan. Contohnya, mengira jumlah dua atau lebih nombor, atau mencetak rentetan. Pada masa ini, kita boleh menggunakan ciri parameter tak tentu bagi fungsi bahasa Go untuk menyelesaikan masalah.
Bahasa Go menggunakan bentuk ... untuk mewakili parameter pembolehubah fungsi. Jenis parameter pembolehubah boleh sama atau berbeza. Apabila menggunakan parameter tak tentu, fungsi boleh menerima sebarang bilangan parameter, yang boleh menjadi set kosong atau set yang mengandungi berbilang elemen.
Berikut ialah contoh mudah yang mentakrifkan fungsi yang menggunakan... untuk mewakili parameter tak tentu, dan kemudian melelaran melalui parameter tatasusunan Dan cetaknya:
func Sum(nums ...int) { fmt.Print(nums, " ") total := 0 for _, num := range nums { total += num } fmt.Println(total) }
Fungsi di atas adalah untuk mengira jumlah set integer. Seterusnya, kami memanggil fungsi ini:
Sum(1, 2, 3, 4) Sum(1, 2, 3)
Keputusan yang dijalankan adalah seperti berikut:
[1 2 3 4] 10 [1 2 3] 6
Dapat dilihat bahawa kami memanggil fungsi Sum dua kali pada satu masa, melepasi empat parameter pada kali pertama , dan Tiga parameter telah diluluskan, dan jumlah yang sepadan berjaya dikira.
Kita boleh menggunakan kepingan untuk mengendalikan fungsi parameter tak tentu. Apabila menggunakan parameter berubah dalam kepingan, kita boleh memuatkan semua parameter ke dalam kepingan dahulu, dan kemudian menggunakan kepingan untuk operasi seterusnya.
Dalam contoh berikut, kami mula-mula menggunakan kaedah make() untuk memulakan hirisan yang mengandungi semua parameter, kemudian melintasi hirisan dan mengira jumlahnya:
func Sum(nums ...int) { total := 0 for _, num := range nums { total += num } fmt.Println(total) }
Kami memanggil fungsi Sum() sekali lagi, Parameter yang diluluskan adalah sama seperti sebelum ini:
nums := []int{1, 2, 3, 4} Sum(nums...)
Hasil larian fungsi ini adalah sama seperti sebelumnya, output:
10
Fungsi Parametrik Pembolehubah boleh menjadi sangat berguna dalam kombinasi dengan parameter biasa. Sebagai contoh, kita boleh menggunakan fungsi parameter pembolehubah dengan parameter rentetan yang mewakili maklumat yang akan dicetak. Contohnya:
func PrintStrings(separator string, strs ...string) { fmt.Println(strings.Join(strs, separator)) }
Fungsi fungsi ini adalah untuk menyambung beberapa rentetan melalui pemisah yang ditentukan dan kemudian mencetaknya. Kami mula-mula memanggil fungsi ini, menghantar tiga rentetan dan simbol sambungan untuk disambungkan:
PrintStrings(", ", "a", "b", "c")
Keputusan yang dijalankan adalah seperti berikut:
a, b, c
Apabila menggunakan fungsi parameter tak tentu, kita perlu memberi perhatian kepada beberapa butiran. Berikut ialah beberapa butiran yang perlu diberi perhatian:
Menggunakan fungsi parameter pembolehubah boleh mengendalikan bilangan parameter dinamik dengan mudah, menjadikannya lebih mudah dan lebih fleksibel semasa menulis kod. Perlu diingatkan bahawa apabila memanggil fungsi parameter pembolehubah, kita perlu memasukkan parameter dengan cara yang ditetapkan.
Melalui artikel ini, kami mempelajari sintaks parameter pembolehubah fungsi dalam bahasa Go dan cara menggunakan fungsi parameter pembolehubah untuk mengendalikan bilangan parameter yang dinamik. Dalam pembangunan, penggunaan rasional fungsi parameter berubah akan meningkatkan kualiti dan kecekapan kod.
Atas ialah kandungan terperinci fungsi golang parameter tak tentu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!