
本文介绍了在 Go 语言中如何获取 HTTP 请求参数,重点讲解了 `r.FormValue()` 方法的使用。通过示例代码,展示了如何从 URL 查询字符串中提取参数,并说明了其优先级规则。掌握此方法,可以轻松地在 Go Web 应用中处理请求参数。
在 Go 语言中处理 HTTP 请求时,经常需要获取请求中携带的参数。与 Node.js 中的 request.param('token') 类似,Go 提供了 net/http 包中的 Request 类型的 FormValue() 方法来获取请求参数。
FormValue() 方法的定义如下:
func (r *Request) FormValue(key string) string
它接收一个字符串类型的参数 key,表示要获取的参数名,并返回该参数的第一个值。如果请求中不存在该参数,则返回空字符串。
FormValue() 的工作原理
FormValue() 方法会优先从 POST 和 PUT 请求的 body 中查找参数,然后才会从 URL 查询字符串中查找。如果需要访问同一个键的多个值,则需要使用 ParseForm() 方法。
示例代码
以下是一个简单的 Go Web 服务器,演示了如何使用 FormValue() 方法获取 URL 查询字符串中的 token 参数:
package main
import (
"fmt"
"net/http"
)
func main() {
http.HandleFunc("/", home)
http.ListenAndServe(":4000", nil)
}
func home(w http.ResponseWriter, r *http.Request) {
token := r.FormValue("token")
fmt.Fprintf(w, "<html><body><h1>Hello %s</h1></body></html>", token)
}在这个例子中,home 函数处理根路径的 HTTP 请求。r.FormValue("token") 用于获取 URL 中名为 token 的参数的值,并将其用于生成 HTML 响应。
运行示例
你将在浏览器中看到 "Hello ABCDEFGHIJKLMNOPQRSTUVWXYZ"。
注意事项
总结
r.FormValue() 方法是 Go 语言中获取 HTTP 请求参数的常用方法。它简单易用,可以方便地从 URL 查询字符串或请求 body 中提取参数。通过理解其工作原理和注意事项,可以更好地在 Go Web 应用中使用它。
以上就是在 Go 中获取请求参数:使用 r.FormValue()的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号