Correspondance d'URL avec des expressions régulières dans Go
Dans Go, http.HandleFunc() est conçu pour gérer des modèles d'URL spécifiques. Cependant, il ne convient pas pour faire correspondre des modèles à l'aide d'expressions régulières.
Solutions alternatives :
Considérez plutôt les solutions suivantes :
// 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")) } }
Par exemple, avec Gorilla MUX :
r := mux.NewRouter() r.HandleFunc("/digits", digitsHandler).Methods("GET") r.HandleFunc("/abc", abcHandler).Methods("POST") http.Handle("/", r)
Chacune de ces méthodes permet une correspondance d'URL plus détaillée en fonction d'exigences spécifiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!