Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menggunakan Ungkapan Biasa untuk Halakan URL dalam Go?
Menggunakan Ungkapan Biasa untuk Padanan Corak URL dalam Go
Soalan:
Bagaimana saya boleh gunakan ungkapan biasa untuk menentukan fungsi yang sesuai untuk pemprosesan URL dalam Go program?
Jawapan:
Kod yang disediakan menunjukkan penggunaan http.HandleFunc dengan laluan tetap atau subpokok berakar. Untuk menggunakan ungkapan biasa bagi pemadanan URL, daftarkan pengendali kepada subpokok berakar dan lakukan pemadanan regexp dalam pengendali.
Berikut ialah contoh:
func main() { http.HandleFunc("/", route) // Match everything http.ListenAndServe(":8080", nil) } var rNum = regexp.MustCompile(`\d`) // Has digit(s) var rAbc = regexp.MustCompile(`abc`) // Contains "abc" func route(w http.ResponseWriter, r *http.Request) { switch { case rNum.MatchString(r.URL.Path): digits(w, r) case rAbc.MatchString(r.URL.Path): abc(w, r) default: w.Write([]byte("Unknown Pattern")) } } func digits(w http.ResponseWriter, r *http.Request) { w.Write([]byte("Has digits")) } func abc(w http.ResponseWriter, r *http.Request) { w.Write([]byte("Has abc")) }
Sebagai alternatif, pertimbangkan untuk menggunakan pustaka luaran seperti sebagai Gorilla MUX untuk lebih fleksibiliti dalam padanan URL.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Ungkapan Biasa untuk Halakan URL dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!