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

是否自动绑定函数到结构?

是否自动绑定函数到结构?

Go
杨魅力 2023-05-15 10:32:34
说我有这个:type Handler struct{}func helper(f func()){   f() // calls h.Mount() or just Mount() w/o reference to h?}func (h Handler) Mount() {}func init(){  h:=Handler{}  helper(h.Mount)}当 helper func 接收到 h.Mount(一个 func)时,它可以直接调用它,还是需要引用处理程序 h 才能正确调用它?这会按原样编译和运行。
查看完整描述

1 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

是的。Go 书将此称为方法值。

通常我们在同一个表达式中选择和调用一个方法,就像在 p.Distance() 中一样,但是可以将这两个操作分开。选择器 p.Distance 产生一个方法值,一个将方法 (Point.Distance) 绑定到特定接收者值 p 的函数。然后可以在没有接收者值的情况下调用此函数;它只需要非接收方参数。


查看完整回答
反对 回复 2023-05-15
  • 1 回答
  • 0 关注
  • 105 浏览
慕课专栏
更多

添加回答

举报

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