golangツアーの54番目のスライドのセットアップを考えると:
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