课程进度 71% · 第17/23章第17/23章 · 标签 1/4
— 1 —
HTTP基础
Go内置net/http包,支持高效的HTTP服务开发。
go
1
import ("net/http"; "fmt")
2
3
func main() {
4
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
5
fmt.Fprintln(w, "Hello, World!")
6
})
7
http.ListenAndServe(":8080", nil)
8
}
- http.HandleFunc注册路由
- http.ListenAndServe启动服务
- 支持GET、POST等多种HTTP方法
— 2 —
路由与处理器
Go原生支持简单路由,复杂路由可用第三方库。
go
1
import ("net/http"; "github.com/gorilla/mux")
2
func main() {
3
r := mux.NewRouter()
4
r.HandleFunc("/user/{id}", func(w http.ResponseWriter, r *http.Request) {
5
vars := mux.Vars(r)
6
w.Write([]byte("User ID: " + vars["id"]))
7
})
8
http.ListenAndServe(":8080", r)
9
}
net/httpHandleFuncListenAndServemux路由