【发布时间】:2020-12-17 21:45:05
【问题描述】:
我正在尝试使用多路复用器并设置一些处理程序。我有以下处理程序
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))
}
【问题讨论】:
-
您要添加的参数的值是否会根据请求更改?或者您是否希望接受在设置路线后不会更改的其他参数?
-
他们不会改变。但它们的值将首先在主函数中初始化,然后我会将它们传递给多个处理程序。