为了账号安全,请及时绑定邮箱和手机立即绑定

在golang中将参数传递给mux处理函数

在golang中将参数传递给mux处理函数

Go
猛跑小猪 2022-06-27 15:14:19
我正在尝试使用 mux 并设置一些处理程序。我有以下处理程序func homePage(w http.ResponseWriter, r *http.Request) {    // Some code}func main() {    router := mux.NewRouter().StrictSlash(true)    router.HandleFunc("/", homePage)    log.Fatal(http.ListenAndServe(":8090", router))}有没有办法将更多参数传递给处理函数,以便我可以做更多的逻辑?我的意思是向homePage名为message. 像这样的东西...func homePage(w http.ResponseWriter, r *http.Request, message string) {    // Do some logic with message    // Rest of code}func main() {    router := mux.NewRouter().StrictSlash(true)    router.HandleFunc("/", homePage("hello"))    log.Fatal(http.ListenAndServe(":8090", router))}
查看完整描述

1 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

执行此操作的常用技术是从接受您想要的任何其他参数的函数返回处理程序,如下所示:


package main


import (

    "net/http"

)


func homePage(msg string) http.HandlerFunc {

    return func(w http.ResponseWriter, r *http.Request) {

        // Do stuff with "msg"

        w.Write([]byte(msg))

    }

}


func main() {

    http.HandleFunc("/", homePage("message"))

    http.ListenAndServe(":8090", nil)

}


查看完整回答
反对 回复 2022-06-27
  • 1 回答
  • 0 关注
  • 144 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信