golang中struct的匿名字段
go语言中的struct定义方式与C语言类似
type Human struct {
Name string
Age int
}
同时go语言还支持匿名字段(嵌入字段)的定义
type Student struct {
Human
Grade int
}
上述代码中的Human就是一个匿名字段,这个功能相当于其他语言中的继承
只要Human字段嵌入到了Student中,那么Student就默认包含了Human的所有字段
可以采用这种方式来赋值
student := new(Student)
student.Name = "小明"
student.Age = 18
也可以采用这样的方式
student := new(Student)
human := new(Human)
human.Name = "小明"
human.Age = 18
student.Human = human