【golang】net/http包
在golang中,使用net/http包可以轻松的创建一个web服务器。
其中,http.listenAndServe是一个很重要的方法,这里说说我踩的一个坑吧。这跟自己的开发背景有关。
listenAndServe接受两个参数,第一个是需要一个字符串形式的服务器地址,比如”localhost:8080”,第二个参数是一个用于分派所有请求的http.Handler接口的实例。
我当时看到这个方法,想着跟node的httpServer.listen很像,第一个是接受一个服务器地址,第二个是一个回调函数,所以这里理所当然的认为第二个参数应该是一个回调函数了。先不管三七二十一试一下再说。
type ListenFunc func(res http.ResponseWriter, req *http.Request)
func (l ListenFunc) ServeHTTP(res http.ResponseWriter, req *http.Request){
l(res, req)
}
func main(){
http.HandleFunc("/", func(res http.ResponseWriter, req *http.Request){
fmt