Abgleichen von URLs mit regulären Ausdrücken in Go
In Go ist http.HandleFunc() für die Verarbeitung spezifischer URL-Muster konzipiert. Es eignet sich jedoch nicht zum Abgleichen von Mustern mithilfe regulärer Ausdrücke.
Alternative Lösungen:
Erwägen Sie stattdessen die folgenden Lösungen:
// Match everything http.HandleFunc("/", route) var rNum = regexp.MustCompile(`\d`) // Has digit(s) func route(w http.ResponseWriter, r *http.Request) { if rNum.MatchString(r.URL.Path) { digits(w, r) } else { w.Write([]byte("No digits found")) } }
Zum Beispiel mit Gorilla MUX:
r := mux.NewRouter() r.HandleFunc("/digits", digitsHandler).Methods("GET") r.HandleFunc("/abc", abcHandler).Methods("POST") http.Handle("/", r)
Jede dieser Methoden ermöglicht einen detaillierteren URL-Abgleich basierend auf spezifischen Anforderungen.
Das obige ist der detaillierte Inhalt vonWie ordne ich URLs mit regulären Ausdrücken in Go zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!