Fungsi tanpa nama dalam Go sangat berguna. Di bawah ialah sintaks, penggunaan dan contoh penggunaan fungsi tanpa nama dalam Golang .

Fungsi tanpa nama ialah fungsi yang tidak mempunyai nama. Ia berguna apabila anda ingin mencipta fungsi sebaris. Dalam Go, fungsi tanpa nama juga boleh membentuk penutupan. Fungsi tanpa nama juga dipanggil literal fungsi.
Contohnya:
package main
import "fmt"
func main() {
// Hàm ẩn danh
func() {
fmt.Println("Welcome! to Quantrimang.com")
}()
}
Keputusan:
Welcome! to Quantrimang.com
Sintaks:
func(parameter_list)(return_type) {
// code..
// Dùng lệnh return nếu return_type được đưa ra
// nếu return_type không được cung cấp, thì không
// dùng lệnh return
return
}()
Tetapkan pembolehubah
Anda boleh menetapkan fungsi tanpa nama kepada pembolehubah. Pembolehubah ini kemudiannya boleh dipanggil seperti fungsi biasa.
package main
import "fmt"
func main() {
// Gán một hàm ẩn danh cho một biến
value := func() {
fmt.Println("Welcome! to Quantrimang.com")
}
value()
}
Keputusan:
Welcome! to Quantrimang.com
Lulus sebagai hujah
Anda juga boleh menghantar fungsi tanpa nama sebagai hujah kepada fungsi lain.
package main
import "fmt"
// Chuyển hàm ẩn danh làm đối số
func GFG(i func(p, q string) string) {
fmt.Println(i("Geeks", "for"))
}
func main() {
value := func(p, q string) string {
return p + q + "Geeks"
}
GFG(value)
}
Keputusan:
GeeksforGeeks
Kembalikan fungsi tanpa nama
Anda boleh mengembalikan fungsi tanpa nama daripada fungsi lain.
package main
import "fmt"
// Trả về hàm ẩn danh
func GFG() func(i, j string) string {
myf := func(i, j string) string {
return i + j + "GeeksforGeeks"
}
return myf
}
func main() {
value := GFG()
fmt.Println(value("Welcome ", "to "))
}
Keputusan:
Welcome to GeeksforGeeks
buat kesimpulan
Fungsi tanpa nama di Golang sangat fleksibel dan berkuasa. Ia boleh digunakan untuk mencipta fungsi sebaris, penutupan, dan juga untuk menghantar dan mengembalikan fungsi. Memahami cara menggunakannya dengan berkesan boleh meningkatkan keupayaan pengaturcaraan anda dengan ketara dalam Go.