Golang中的切片
Golang中的切片
数组是固定长度,可以容纳相同数据类型的元素的集合。当长度固定时,使用还是带来一些限制,比如:有时候申请的长度太大浪费内存,太小又不够用。
鉴于这个原因,我们有了Golang中的切片的概念。
可以把切片理解为,可变长度的数组,其实它底层就是使用数组实现的,增加了自动扩容功能。
切片(Slice
)是一个拥有相同类型元素的可变长度的序列。
Golang切片的语法
声明一个切片和声明一个数组类似,只要不添加长度就可以了。
1 | var identifier []type |
切片是引用类型,可以使用make
函数来创建切片:
1 | var slice1 []type = make([]type, len) |
也可以指定容量,其中capacity为可选参数。
1 | make([]T, length, capacity) |
这里的len
是数组的长度并且也是切片的初始长度。
Golang的切片实例
未初始化切片
1 | package main |
运行结果
1 | s1: [] |
make切片,未赋值与赋值
1 | package main |
运行结果
1 | s2: [0 0] |
Golang中的切片的长度和容量
切片拥有自己的长度和容量,可以通过使用内置的len()
函数求长度,使用内置的cap()
函数求切片的容量。
1 | package main |
运行结果
1 | len(s1): 3 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 疯疯の神奇小窝!
评论