在 Go 中读取 URL 路径参数
您正在 Go 中开发一个需要处理特定 URL 路径的 Web 应用程序。特别是,您想要读取并显示格式为 example.com/person/(any_name) 的 URL 路径的一部分,其中 (any_name) 表示变量参数。
为了实现此目的,gorilla/强烈建议使用 mux 包进行路由处理。
使用 gorilla/mux
gorilla/mux 包是一个强大的 Go 路由器。它提供了一种简单的方法来定义和管理路由,包括从 URL 捕获参数的能力。
以下是如何使用 gorilla/mux 读取和打印 (any_name) 参数:
<code class="go">package main import ( "fmt" "log" "net/http" "github.com/gorilla/mux" ) func PersonHandler(w http.ResponseWriter, r *http.Request) { vars := mux.Vars(r) name := vars["name"] fmt.Fprintf(w, "Hello, %s!", name) } func main() { r := mux.NewRouter() r.HandleFunc("/person/{name}", PersonHandler).Methods(http.MethodGet) if err := http.ListenAndServe(":8080", r); err != nil { log.Fatal(err) } }</code>
在此脚本中,我们:
当有请求时访问 example.com/person/John 时,将调用 PersonHandler 函数,并将参数名称设置为 John。然后该函数将打印“Hello, John!”回复。
以上是如何在 Go 中使用 Gorilla/Mux 提取 URL 路径参数?的详细内容。更多信息请关注PHP中文网其他相关文章!