net库
net= network,是 Go 标准库中负责网络编程的一组包
| 包 | 主要作用 | 常见场景 |
|---|---|---|
net | TCP、UDP、IP、网络连接 | Socket 服务、TCP 服务 |
net/http | HTTP Server / Client | Web API、调用第三方 API |
net/url | URL 解析、构造 | Query 参数、URL 处理 |
net/mail | 邮件格式解析 | 解析邮件 |
net/rpc | RPC 通信 | RPC 服务 |
net/smtp | SMTP 协议 | 发送邮件 |
net/textproto | 文本协议 | HTTP、SMTP 等底层支持 |
net/http
- 启动 HTTP 服务
- 注册路由
- 接收 Request
- 返回 Response
package main
import (
"fmt"
"net/http"
)
func hello(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(w, "Hello Go")
}
func main() {
http.HandleFunc("/hello", hello)
http.ListenAndServe(":8080", nil)
}
注册路由
- http.HandleFunc
http.HandleFunc("/hello", hello)
启动服务
- http.ListenAndServe
// nil表示没有传自定义 Handler
http.ListenAndServe(":8080", nil)