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()
}
如对本文有疑问, 点击进行留言回复!!
VSCode1.4 搭建Golang的开发调试环境(遇到很多问题)
网友评论