Go程序设计语言(二)
重写工作方式正如字段一样。 type NamedPoint struct { Point name string } func (n *NamedPoint) Abs() float64 { return n.Point.Abs() * 100. } n := &NamedPoint{Point{3, 4}, “Pythagoras”} fmt.Println(n.Abs()) // prints 500 当然,你可以有多个不同类型的匿名字段 – 一个简单版本的多继承。但冲突解决规则让事情保持简单。 ...