2、go语言 标准容器
之前一直在用java,java中有比较完善的标准容器实现,对比着列举下go语言中的标准容器
1、数组
同java一样,数组中元素类型确定且相同,必须声明数组长度,而且长度固定不可变,可以使用下标的方式选择元素
go数组长度只能使用常量(数字或const声明的变量),不可以使用变量。
(c语言最开始的时候也是,后来编译器慢慢支持变量声明数组长度,不知道go以后会不会做变动)
1、数组声明:
var name [size] type
var name2 [size1][size2] type //二维数组
2、初始化数组:
var name = [5]int {1,2,3,4,5}
var name = [...]int {1,2,3,4,5} // 使用... go会按后面的元素个数确认数组大小
var name2 = [2][3] {{1,2,3},{4,5,6},}
3、访问元素,通过下标的方式
name[1] // 访问name数组下标为1的元素
name2[3][2] // 访问name2数组第3行第2列的元素
2、切片/Slice(类似java中的ArrayList)
相比较于数组,切片的使用率更高。