Melalui Parameter ke Penutupan Fungsi
Dalam Go, pilihan antara mencipta fungsi tanpa nama dengan parameter atau penutupan boleh memberi kesan kepada perkongsian pembolehubah dan tingkah laku fungsi.
Parameter lwn. Penutupan
Bila Penggunaan Parameter
Bila Perlu Digunakan Penutupan
Contoh: Penutupan lwn. Parameter
Pertimbangkan contoh kod berikut yang menggambarkan perbezaan antara penutupan dan parameter:
Penutupan:
for i := 0; i < 3; i++ { go func() { fmt.Println(i) }() }
Parameter:
for i := 0; i < 3; i++ { go func(v int) { fmt.Println(v) }(i) }
Hasil:
Kesimpulan
Pilihan antara parameter dan penutupan bergantung pada tingkah laku yang diingini dan keperluan perkongsian berubah-ubah. Apabila fungsi memerlukan petikan nilai, parameter diutamakan. Penutupan berguna apabila mengakses dan mengubah suai pembolehubah dalam skop yang dilampirkan atau berkongsinya merentas berbilang seruan.
Atas ialah kandungan terperinci Parameter lwn. Penutupan dalam Go: Bila Untuk Menggunakan Yang Mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!