Ich habe eine Func-Registrierung, aber ich weiß nicht, wie kann ich eine HTTP-Funktion darauf aufrufen.Rufen Sie HTTP-Funktion in einer Funktionsregistrierung
registry := map[string]func(){
"MyFunc1": MyFunc1,
}
registry["MyFunc1"]()
func MyFunc1(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("Hi Gorilla!"))
}
Ich änderte sie diese:
registry := map[string]func(http.ResponseWriter, *http.Request){
"MyFunc1": MyFunc1,
}
Aber ich kann es jetzt nicht anrufen!
gorilla.HandleFunc("/", registry["MyFunc1"]()).Name(parentKey)
Dank Wie kann ich überprüfen, existiert ein Element wie if registry ["MyFunc100"] {} ohne Call it –
Es ist eine einfache Karte, so dass Sie überprüfen können, ob ein Eintrag existiert, gibt es Beispiele in https://blog.golang.org/go-maps-in-action –
nicht -bool Registrierung ["MyFunc100"] (Typ func (http.ResponseWriter, * http.Request)) verwendet als ob Bedingung –