net/http包提供了HTTP客户端和服务端的实现。
http.HandleFunc-注册回调函数
func HandleFunc(pattern string, handler func(ResponseWriter, *Request))
HandleFunc注册一个处理器函数handler和对应的模式pattern(注册到DefaultServeMux)。ServeMux的文档解释了模式的匹配机制。
http.ListenAndServe
func ListenAndServe(addr string, handler Handler) error
ListenAndServe监听TCP地址addr,并且会使用handler参数调用Serve函数处理接收到的连接。handler参数一般会设为nil,此时会使用DefaultServeMux。
HTTP服务器
服务端示例代码:
package main
import (
"fmt"
"net/http"
)
func main(){
//注册回调函数
http.HandleFunc("/hello", handler)
//绑定tcp监听地址,并开始接受请求,然后调用服务端处理程序来处理传入的连接请求。
//params:第一个参数 addr 即监听地址;第二个参数表示服务端处理程序,通常为nil
//当参2为nil时,服务端调用 http.DefaultServeMux 进行处理
http.ListenAndServe("127.0.0.1:8080", nil)
}
func handler (w http.ResponseWriter, r *http.Request