企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 7.4\. 使用http包 下面是一个完整的web server例子: ``` package main import ( "fmt" "http" ) func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:]) } func main() { http.HandleFunc("/", handler) http.ListenAndServe(":8080", nil) } ``` 在main函数中,http.HandleFunc设置所有对根目录请求的处理函数为handler。 然后调用http.ListenAndServe,在8080端口开始监听(第二个参数暂时可以忽略)。然后程序将阻塞,直到退出。 函数handler为http.HandlerFunc类型,它包含http.Conn和http.Request两个类型的参数。 其中http.Conn对应服务器的http连接,我们可以通过它向客户端发送数据。 类型为http.Request的参数对应一个客户端请求。其中r.URL.Path 为请求的地址,它是一个string类型变量。我们用[1:]在Path上创建 一个slice,对应"/"之后的路径名。 启动该程序后,通过浏览器访问以下地址: ``` http://localhost:8080/monkeys ``` 会看到以下输出内容: ``` Hi there, I love monkeys! ```