struct
struct,一組字段的集合,類似其他語言的class
放棄了大量包括繼承在內的面向對象特性,只保留了組合(composition)這個最基礎的特性
1.聲明及初始化
//初始化
func main() {
var P person
P.name = "tom"
P.age = 25
fmt.Println(P.name)
P1 := person{"Tom1", 25}
fmt.Println(P1.name)
P2 := person{age: 24, name: "Tom"}
fmt.Println(P2.name)
}
2.struct的匿名字段(繼承)
tyep Student struct {
Human //匿名字段,默認Student包含了Human的所有字段
speciality string
}
mark := Student(Human{"mark", 25, 120}, "Computer Science")
mark.name
mark.age
3.method
//method
}
func (b *Box) SetColor(c Color) {
b.color = c
}
4.method繼承和重寫
采用組合的方式實現繼承
type Student struct {
Human
School string
}
func (h *Human) SayHi() {
fmt.Println(h.name)
}
//則Student和Employee的實例可以調用
func main() {
h := Human{name: "human"}
fmt.Print(h.name)
h.SayHi()
s := Student{Human{"student"}}
s.SayHi()
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。