在 Go Map 中儲存函數
在 Go 中,map 是一種儲存鍵值對的類型。鍵和值可以是任何類型。就您而言,您希望將函數儲存在地圖中。但是,您的程式碼不起作用,因為函數類型不能用作映射中的鍵。
要解決此問題,您可以使用介面類型來表示函數。介面類型定義了類型必須實作以滿足介面的一組方法。在這種情況下,您可以建立一個介面類型來表示一個以字串作為參數的函數。
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") }
以上是如何將函數作為值儲存在 Go Map 中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!