模块:go mod init webDemo
设置web服务器
方法一:
http.ListenAndServe("localhost:8080", nil)
方法二:
server := http.Server{Addr: "localhost:8080",Handler: nil,}
server.ListenAndServe()
例
package mainimport "net/http"func main() {//设置web服务器http.ListenAndServe("localhost:8080", nil)//第一种路由, HandleFunc是一个适配器,将func转化为handlerhttp.HandleFunc("/home", func(w http.ResponseWriter, r *http.Request) {w.Write([]byte("home!"))fmt.Fprintln(w, "home!!!")})//第二种路由mh := helloHandler{}http.Handle("/hello", &mh)
}type helloHandler struct{}func (m *helloHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {w.Write([]byte("hello word 2"))
}
GO提供共Server结构体,我们可以创建一个Server的实例,去配置Server中的一些配置。
package mainimport ("fmt""net/http"
)type MyHandler2 struct{}func (this *MyHandler2) ServeHTTP(w http.ResponseWriter, r *http.Request) {fmt.Fprintln(w, "小王子")
}func main() {myHandler := MyHandler2{}//注:这里没有HanlderFunc函数可以调用了,要在定义server时指定server := http.Server{Addr: ":9090",Handler: &myHandler,}server.ListenAndServe()}