官方的 http 包 我们从流量打入端口开始,gin 其实是官方 http 包的封装 1 2 3 4 5 6 7 8 9 // 这里是 gin.Run 的逻辑 func (engine *Engine) Run(addr ...string) (err error) { defer func() { debugPrintError(err) }() address := resolveAddress(addr) debugPrint("Listening and serving HTTP on %s\n", address) err = http.ListenAndServe(address, engine) return } 再回顾下官方 http 包的使用方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 func HelloServer(w http.ResponseWriter, req *http.Request) { io.WriteString(w, "hello, world!\n") } func run() { // 点进去就发现,它使用 DefaultServeMux 注册了路由地址 http.HandleFunc("/hello", HelloServer) // 这里……
阅读全文