首先
// 自定义一个http服务器,可以自行设置各种参数
httpServer := &http.Server{
Addr : ":8080",
ReadTimeout: 10 * time.Second,
WriteTimeout: 10 * time.Second,
MaxHeaderBytes: 1 << 20,
}
// 路由处理方法 类似各种Controller里的各种Action
func TestHandler(w http.ResponseWriter, r *http.Request){
w.Write([]byte("hhhh"))
fmt.Println("not found")
}
首先是使用HandleFunc()
方法
http.HandleFunc("/show",TestHandler)
然后是使用Handle()
方法,注意这里是HandlerFunc()
与上面HandleFunc()
区分。
http.Handle("/show", http.HandlerFunc(TestHandler))
还有一种新创建一个路由表
routerlist := http.NewServeMux()
// 建路由
routerlist.HandleFunc("/show", TestHandler)
routerlist.HandleFunc("/list", TestHandler)
httpServer.Handler = routerlist //加载路由表
三种方法能够实现的效果一样。