doulilou8560 2017-02-28 09:20
浏览 34

你叫(* receiverType).method(receiver)?

I recently learned that you can invoke a receiver's method by doing (*receiverType).method(receiver), where the first parameter is always the receiver itself.

func main() {
    c := &Cool{}
    c.say("Cool!")
    (*Cool).say(c, "Hot!") // <-- this
}

type Cool struct {
}

func (it *Cool) say(s string) {
    fmt.Println(s)
}

https://play.golang.org/p/vVjr42ceqA

Is there a name for this kind of syntax? Why does this compile?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 运动想象脑电信号数据集.vhdr
    • ¥15 三因素重复测量数据R语句编写,不存在交互作用
    • ¥15 微信会员卡等级和折扣规则
    • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
    • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
    • ¥15 gdf格式的脑电数据如何处理matlab
    • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
    • ¥100 监控抖音用户作品更新可以微信公众号提醒
    • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
    • ¥70 2048小游戏毕设项目