Golang数组、map、函数及类
数组/切片
数组声明:
1 | 普通声明: |
区别于 javascript:
- 数组中只能存储相同类型的值
- 只有make关键字声明的切片长度可变
map
map字典,对应于javascript中的对象,即为键值对的集合
1 | 普通声明方式: |
函数
1 | 三种函数声明方式: |
类与继承、复合、重写
1 | 类的定义:通过关键字 type 定义 |
go语言中的继承并非正真意义上的继承,而是通过复合的方式模拟继承,当子类继承父类后,子类创建的对象中,包含一个隐藏的父类对象,其中包括父类的属性及方法。当在子类创建的对象中定义重名的属性/方法时,并不会修改父类对象中的属性/方法,而是直接在子类创建的对象上添加,类似javascript中的原型链,当查询对象的属性/方法时,优先在对象上查找,未找到时才会去继承自父类的对象上查找。所以说golang的继承是伪继承。
Golang数组、map、函数及类