Go语言并没有沿袭传统面向对象编程中的诸多概念
封装:通过方法实现
继承:通过匿名字段实现
多态:通过接口实现
一、匿名组合
1. 匿名字段
匿名字段(嵌入字段):
go支持只提供类型,而不写字段名的方式
匿名字段也是结构体时:
这个结构体所拥有的全部字段都被隐式地引入了当前定义的这个结构体
//人
type Person struct {
name string
sex byte
age int
}
//学生
type Student struct {
Person // 匿名字段,那么默认Student就包含了Person的所有字段
id
1