Go筆記一(Embedded Types)

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()
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章