Heim >Backend-Entwicklung >Golang >Wie kann ich Funktionen als Werte in einer Go-Map speichern?
Funktionen in einer Go-Map speichern
In Go ist eine Map ein Typ, der Schlüssel-Wert-Paare speichert. Schlüssel und Werte können von beliebigem Typ sein. In Ihrem Fall möchten Sie Funktionen in einer Karte speichern. Ihr Code funktioniert jedoch nicht, da ein Funktionstyp nicht als Schlüssel in einer Karte verwendet werden kann.
Um dies zu umgehen, können Sie einen Schnittstellentyp zur Darstellung einer Funktion verwenden. Ein Schnittstellentyp definiert eine Reihe von Methoden, die ein Typ implementieren muss, um die Schnittstelle zu erfüllen. In diesem Fall können Sie einen Schnittstellentyp erstellen, der eine Funktion darstellt, die eine Zeichenfolge als Parameter akzeptiert.
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") }
Das obige ist der detaillierte Inhalt vonWie kann ich Funktionen als Werte in einer Go-Map speichern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!