这些“功能”以相同的方式运行,实际上它们的调用方式几乎相同。该方法被称为方法表达式,接收者作为第一个参数:
var s Square
// The method call
s.SetSide(5)
// is equivalent to the method expression
(*Square).SetSide(&s, 5)
该SetSide方法也可以用作方法值来满足函数签名func(int),而SetSquareSide不能。
var f func(int)
f = a.SetSide
f(9)
这是在方法集Square满足接口的明显事实之上
interface {
SetSide(int)
}
守着一只汪
慕尼黑8549860
相关分类