【发布时间】:2012-11-10 21:07:57
【问题描述】:
鉴于 golang 之旅的54th slide 中的设置:
type Abser interface {
Abs() float64
}
type Vertex struct {
X, Y float64
}
func (v *Vertex) Abs() float64 {
return math.Sqrt(v.X*v.X + v.Y*v.Y)
}
为什么不能同时为结构定义方法以及指向结构的指针?那就是:
func (v Vertex) Abs() float64 {
return math.Sqrt(v.X*v.X + v.Y*v.Y)
}
定义它会产生以下错误:
prog.go:41: method redeclared: Vertex.Abs
method(*Vertex) func() float64
method(Vertex) func() float64
【问题讨论】:
标签: go