An Introduction To Programming In Go 读书笔记
-- 9 Structs and Interfaces - Embedded Types
package main
import "fmt"
type Person struct {
Name string
}
type Android struct {
Person //直接嵌入 亦可使用自定义名称如 Owner Person
Model string
}
func (p *Person) talk() {
fmt.Println("hi,I'm",p.Name)
}
func (a *Android) sayhi() {
a.Person.talk() //不冲突时 亦可直接使用 a.talk()
fmt.Println("--from",a.Model)
}
func main() {
a := new(Android)
a.Person.Name = "John" //不冲突时 亦可直接使用 a.Name
a.Model = "iphone"
a.sayhi()
}
转载于:https://blog.51cto.com/vsfor/1414855