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

Go 函数参数中下划线的含义

Go 函数参数中下划线的含义

Go
泛舟湖上清波郎朗 2022-01-10 14:21:31
在这里遇到了以下功能。我注意到最后一个参数用_. 这种模式的意图是什么?func Index(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {    fmt.Fprint(w, "Welcome!\n")}
查看完整描述

3 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

它的意思是“忽略那个参数”,他们仍然需要最后一个参数的原因是因为他们想将它传递type HandleGET具有签名的函数:

type Handle func(http.ResponseWriter, *http.Request, Params)

如果你只是简单地传递类似的东西,func Index(w http.ResponseWriter, r *http.Request)它不会被视为type Handle.


查看完整回答
反对 回复 2022-01-10
?
BIG阳

TA贡献1859条经验 获得超6个赞

_ 是空白标识符。它在签名中表明该值没有被使用,因此签名仍然会匹配接口的方法。


查看完整回答
反对 回复 2022-01-10
?
手掌心

TA贡献1942条经验 获得超3个赞

使用“_”代替参数名称可以满足更高级别的“函数作为参数”的义务,而不会收到有关未使用参数的警告。在您的情况下,我相信编译器被告知忽略所有传入的“POST”数据,从而实际上减少了对“GET”功能的请求。


查看完整回答
反对 回复 2022-01-10
  • 3 回答
  • 0 关注
  • 344 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号