Dalam Go, anda boleh mentakrifkan fungsi tersuai dan menetapkannya sebagai nilai kepada kekunci dalam peta. Ini membolehkan pelaksanaan dinamik fungsi berdasarkan kunci yang diberikan.
Untuk mencapai ini, anda boleh mencipta peta jenis map[string]func(...) dengan kunci ialah rentetan dan nilainya ialah sesuatu fungsi. Walau bagaimanapun, kod yang disediakan cuba menggunakan sintaks yang tidak disokong dalam Go.
Untuk membetulkannya, gunakan kod berikut:
func a(param string) { fmt.Println("Function a called with param:", param) } func main() { m := map[string]func(string) { "a_func": a, } for key, value := range m { if key == "a_func" { value("test") } } }
Dalam contoh ini:
Perhatikan bahawa antara muka{} menaip dalam contoh kod yang disediakan tidak perlu dan boleh dipermudahkan kepada func(...).
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menetapkan dan Memanggil Fungsi sebagai Nilai dalam Peta Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!