Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menggunakan fungsi tanpa nama dalam bahasa Go?
Go ialah bahasa pengaturcaraan moden yang sesuai untuk mencipta perisian dan aplikasi web yang boleh dipercayai dan cekap. Sebagai tambahan kepada semua ciri bahasa asas yang dimiliki oleh bahasa pengaturcaraan lain, bahasa ini juga menyediakan banyak ciri lanjutan tambahan, salah satunya ialah fungsi tanpa nama.
Dalam bahasa Go, fungsi tanpa nama ialah fungsi yang tidak mempunyai nama, jadi ia juga dipanggil "penutupan". Biasanya, fungsi mesti mempunyai nama untuk digunakan dalam program, tetapi fungsi tanpa nama hanyalah fungsi yang tidak mempunyai nama.
Sintaks untuk mentakrifkan fungsi tanpa nama dalam bahasa Go ialah memasukkan badan fungsi di tengah. Fungsi tanpa nama biasanya ditakrifkan dalam badan fungsi dan hanya boleh digunakan apabila ditakrifkan. Kita boleh mentakrifkan fungsi tanpa nama dalam fungsi, dan kita juga boleh menghantar fungsi tanpa nama sebagai parameter kepada fungsi lain. {}
package main import "fmt" func main() { result := func(a, b int) int { return a + b }(1, 2) fmt.Println(result) }Dalam kod di atas, kami mentakrifkan fungsi tanpa nama
, memanggilnya terus dan menyimpan nilai pulangan dalam hasil pembolehubah. func(a, b int) int { return a + b }
package main import "fmt" func calculate(a, b int, op func(int, int) int) int { return op(a, b) } func main() { add := func(a, b int) int { return a + b } subtract := func(a, b int) int { return a - b } result := calculate(10, 5, add) fmt.Println("Addition result:", result) result = calculate(10, 5, subtract) fmt.Println("Subtraction result:", result) }Dalam contoh di atas, kami telah mentakrifkan dua fungsi tanpa nama
dan add
dan menyerahkannya sebagai parameter kepada fungsi subtract
. calculate
Fungsi yang menerima dua integer dan fungsi yang menerima dua integer dan mengembalikan integer sebagai argumen. Dalam fungsi calculate
, kami memanggil fungsi main
dua kali, menghantar fungsi calculate
dan add
sebagai parameter ketiga masing-masing. subtract
Atas ialah kandungan terperinci Bagaimana untuk menggunakan fungsi tanpa nama dalam bahasa Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!