Bahasa Go membolehkan fungsi untuk mengecualikan lulus parameter, yang dipanggil lulus parameter tersirat. Apabila ditinggalkan, hujah menggunakan nilai lalai (0 untuk int, "" untuk rentetan, tiada untuk jenis penunjuk dan hirisan). Ini memudahkan kod, tetapi juga mempunyai had seperti pengurangan kebolehbacaan, peningkatan kesukaran penyelenggaraan dan ralat terbitan pengkompil. Amalan terbaik mengesyorkan mengekalkan bilangan parameter yang rendah, menggunakan parameter yang dinamakan dan mempertimbangkan parameter variadik. Fungsi lulus parameter tersirat boleh memudahkan kod, tetapi harus digunakan dengan berhati-hati.
Dalam bahasa Go, parameter fungsi boleh diabaikan untuk dihantar dan disimpulkan secara automatik oleh pengkompil Ini dipanggil lulus parameter tersirat. Ia memudahkan kod dan meningkatkan kebolehbacaan.
Parameter | Type | Nilai lalai |
---|---|---|
a |
int |
0 |
b |
string |
"" |
c |
*int |
nil |
d |
[]int |
nil |
省略传递时,参数会使用默认值。如果省略了指针或切片类型的参数,则默认值为 nil
。
我们用一个计算面积的函数来说明隐式传参:
func area(width, height int) int { return width * height }
使用时,可以省略 height
参数,编译器会自动推导为默认值 0
dcode>
b
string
""
td>c
*int
nil
d
[]int
nil
nil
. Kami menggunakan fungsi untuk mengira kawasan untuk menggambarkan pemindahan parameter tersirat:
result := area(10) // height = 0
height
dan pengkompil akan secara automatik menyimpulkan nilai lalai Atas ialah kandungan terperinci fungsi golang meninggalkan laluan parameter. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!