Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menyimpan Fungsi sebagai Nilai dalam Peta Go?
Menyimpan Fungsi dalam Peta Go
Dalam Go, peta ialah jenis yang menyimpan pasangan nilai kunci. Kunci dan nilai boleh terdiri daripada sebarang jenis. Dalam kes anda, anda ingin menyimpan fungsi dalam peta. Walau bagaimanapun, kod anda tidak berfungsi kerana jenis fungsi tidak boleh digunakan sebagai kunci dalam peta.
Untuk mengatasinya, anda boleh menggunakan jenis antara muka untuk mewakili fungsi. Jenis antara muka mentakrifkan satu set kaedah yang mesti dilaksanakan oleh jenis untuk memenuhi antara muka. Dalam kes ini, anda boleh mencipta jenis antara muka yang mewakili fungsi yang mengambil rentetan sebagai parameter.
import "fmt" // A function type that takes a string as a parameter. type StringFunc func(string) // A map that stores functions that take a string as a parameter. var funcs map[string]StringFunc // A function that takes a string as a parameter. func a(p string) { fmt.Println("function a parameter:", p) } // Main function. func main() { // Create a map that stores functions that take a string as a parameter. funcs = make(map[string]StringFunc) // Add the 'a' function to the map. funcs["a"] = a // Call the 'a' function from the map. funcs["a"]("hello") }
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan Fungsi sebagai Nilai dalam Peta Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!