Go 方法接收器采用一个类型以及该类型的变量名称,例如:
type MyFloat float64
func (x MyFloat) Abs() float64 {
if x < 0 {
return float64(-x)
}
return float64(x)
}
func main() {
f := MyFloat(-math.Sqrt2)
fmt.Println(f.Abs())
}
接收器采用"x"与该类型接收所述方法沿着。叫什么名字“X”的意义。因为我能够调用的方法上MyFloat的任何实例(不只是在命名为X的一个),为什么我一定要指定x?由于接收器是一种类型或一个类型的引用,为什么不干脆把类型或单独指针像这样
func (MyFloat) Abs() float64 {
if this < 0 {
return float64(-this)
}
return float64(this)
}
我的假设是this在 Java 中 golang 允许任何名称而不是允许任何名称?是这样吗 ?
www说
相关分类