去实现的http代码 <代码>服务步骤非常简单,首先注册路由,然后创建服务并开启监听即可。下文我们将从注册路由,开启服务,处理请求这几个步骤了解Golang如何实现<代码> http 服务。
<代码> http。HandleFunc 和<代码> http。处理> func (w http。ResponseWriter r * http.Requests) 签名的函数,而后者是一个结构体,该结构体实现了<代码> func (w http。ResponseWriter r * http.Requests) 签名的方法。
<代码> http。HandleFunc 和<代码> http。处理>
func HandleFunc(模式字符串处理函数(ResponseWriter, *请求)){
DefaultServeMux。HandleFunc(模式,处理程序)
}//HandleFunc注册处理程序函数给定的模式。
func (mux * ServeMux) HandleFunc(模式字符串处理函数(ResponseWriter, *请求)){
如果处理程序==nil {
恐慌(“http:零处理程序”)
}
mux。处理(模式,HandlerFunc(处理器))
}
函数处理(模式字符串处理程序处理程序){
DefaultServeMux。处理(模式,处理程序)
}
可以看到这两个函数最终都由<代码> DefaultServeMux> 处理方法来完成路由的注册。
这里我们遇到两种类型的对象:<代码> ServeMux 和<代码>处理程序> 处理程序代码。
<代码>处理程序是一个接口:
类型的处理程序接口{
ServeHTTP (ResponseWriter *请求)
}