//type HandlerFunc func(ResponseWriter, *Request)
攔截器返回一個函數供調用,在這個函數里添加自己的邏輯判斷即可 h(w,r)及是調用用戶自己的處理函數。h 是函數指針
func handleIterceptor(h http.HandlerFunc) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { fmt.Println("handleIterceptor") h(w, r) } } // / func myhandler(writer http.ResponseWriter, request *http.Request) { fmt.Println("myhandler") } func web(writer http.ResponseWriter, request *http.Request) { fmt.Println("web") } func main() { http.HandleFunc("/", handleIterceptor(myhandler)) http.HandleFunc("/web", handleIterceptor(web)) http.ListenAndServe(":8080", nil) }