#buildinpublic #SeniorGo 从零开始用Golang搭建HTTP服务器 Go语言自带一个健壮、强大且可用于生产的HTTP服务器。而且它非常易于使用,同时又不失灵活性和可配置性,甚至能精确到最微小的细节。 http包包含了一个Server对象,它拥有我们所需的一切。启动它所需的最基本属性是Addr和Handler。 Addr Addr 是服务器将要监听的地址,是一个格式为 :<端口> 的字符串。例如,如果我们想接收网络上任何计算机通过8080端口发来的请求,可以设置为 :8080 或 0.0.0.0:8080 。如果我们在开发时,可以使用 127.0.0.1:8080 ,这样只有本机才能访问(这在Mac上非常有用,可以避免频繁弹出防火墙提示)。 Handler Handler 是一个函数,每当服务器收到HTTP请求时都会被调用。该函数拥有一个 ResponseWriter 用于发送响应,以及一个 Request 用于读取客户端请求。 在接下来的示例中,我们记录HTTP方法和URL的日志,然后返回 "Hello World!!" 作为响应。 package main import ( "log" "net/http" ) func main() { s := &http.Server{ Addr: ":8080", Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { log.Println(r.Method, r.URL) w.Write([]byte("Hello World!!")) }), } err := s.ListenAndServe() if err != nil { log.Fatal(err) } } 如果服务器启动一切顺利,执行将停在 ListenAndServe...