Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menggunakan Ungkapan Biasa untuk Pemadanan URL dalam Go?
Menggunakan Ungkapan Biasa untuk Pemadanan URL dalam Go
Dalam Go, pakej net/http menyediakan fungsi http.HandleFunc untuk mendaftar pengendali berfungsi kepada corak URL tertentu. Walau bagaimanapun, fungsi ini tidak boleh digunakan untuk memadankan URL menggunakan ungkapan biasa.
Untuk menggunakan ungkapan biasa bagi pemadanan URL, anda boleh mendaftarkan pengendali kepada subpokok berakar dan melakukan pemadanan dan penghalaan regexp selanjutnya dalam fungsi pengendali.
Sebagai contoh, kod berikut menunjukkan cara mendaftar pengendali untuk corak URL akar (/) dan menggunakan ungkapan biasa untuk memadankan tertentu corak:
import ( "fmt" "net/http" "regexp" ) var ( rNum = regexp.MustCompile(`\d`) // Matches URLs with digits rAbc = regexp.MustCompile(`abc`) // Matches URLs containing "abc" ) func main() { http.HandleFunc("/", route) http.ListenAndServe(":8080", nil) } 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, anda boleh menggunakan perpustakaan pihak ketiga seperti Gorilla MUX, yang menyediakan penghalaan URL lanjutan dan keupayaan pemadanan regexp.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Ungkapan Biasa untuk Pemadanan URL dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!