在 golang http 处理程序中使用匿名函数,只需在 http.handlefunc() 中直接传递一个匿名函数。匿名函数可以用来简化代码编写,比如处理 http 请求。在实战中,匿名函数可用于响应 json 请求,通过编码 json 数据并将其写入 http 响应正文即可。

如何在 Golang 的 HTTP 处理程序中使用匿名函数?
背景
匿名函数,也称为 lambda 表达式,是一种无需命名即可定义并使用的简单方法,旨在简化代码编写。在 Golang 中,匿名函数可用于处理 HTTP 请求。
立即学习“go语言免费学习笔记(深入)”;
使用方法
要在 HTTP 处理程序中使用匿名函数,请在 http.HandleFunc() 中直接传递它:
package main
import (
"net/http"
)
func main() {
http.HandleFunc("/hello", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("Hello, World!"))
})
http.ListenAndServe(":8080", nil)
}在上面的示例中,我们使用了一个匿名函数来处理 "/hello" 路由。当客户端通过 HTTP 请求访问该路由时,匿名函数将被执行并响应 "Hello, World!"。
实战案例
在以下实战案例中,我们将展示如何在 Golang HTTP 处理程序中使用匿名函数来响应一个简单的 JSON 请求:
代码
package main
import (
"encoding/json"
"net/http"
)
type Response struct {
Message string
}
func main() {
http.HandleFunc("/json", func(w http.ResponseWriter, r *http.Request) {
// 将 JSON 数据编码成 HTTP 响应正文
json.NewEncoder(w).Encode(Response{
Message: "Hello, JSON!",
})
})
http.ListenAndServe(":8080", nil)
}使用
访问 "/json" 路由将返回一个 JSON 响应:
{
"Message": "Hello, JSON!"
}










