我最近了解到你可以通过(*receiverType).method(receiver)
来调用接收者的方法,其中第一个参数始终是接收者本身。
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
这种语法有名称吗?为什么这会编译?