接口型函数
// 1. 定义函数类型
type HandlerFunc func(string)
// 2. 实现接口方法
func (f HandlerFunc) Serve(name string) {
f(name) // 直接调用函数本身
}场景
传统写法 (结构体+接口)
接口型函数写法
优势
最后更新于
// 1. 直接定义处理函数
welcome := func(w ResponseWriter, r *Request) {
fmt.Fprintf(w, "Welcome! %s", r.URL.Query().Get("name"))
}
// 2. 注册路由(函数秒变处理器)
http.Handle("/welcome", http.HandlerFunc(welcome))
// 更简洁的写法(无需中间变量)
http.Handle("/hello", http.HandlerFunc(func(w ResponseWriter, r *Request) {
fmt.Fprint(w, "Hello World!")
}))