2 回答

TA贡献2011条经验 获得超2个赞
您编辑了原始问题以添加第二个问题。
另外,如何更改func QR以接受参数值?我想要它做的是接受一个命令行标志来代替req * http.Request。
如果您阅读《 Go编程语言规范》,§Types(包括§Function类型),您将发现Go具有强大的静态类型,包括函数类型。尽管这不能保证捕获所有错误,但通常会捕获使用无效,不匹配的函数签名的尝试。
您没有告诉我们为什么要以QR似乎是任意和反复无常的方式更改的函数签名,以使其不再是有效的HandlerFunc类型,从而保证程序甚至无法编译。我们只能猜测您想完成什么。也许就这么简单:您想http.Request基于运行时参数修改。也许是这样的:
// Note: flag.Parse() in func main() {...}
var qrFlag = flag.String("qr", "", "function QR parameter")
func QR(c *http.Conn, req *http.Request) {
if len(*qrFlag) > 0 {
// insert code here to use the qr parameter (qrFlag)
// to modify the http.Request (req)
}
templ.Execute(req.FormValue("s"), c)
}
也许不是!谁知道?
- 2 回答
- 0 关注
- 267 浏览
添加回答
举报