03.数组与切片
# 01.数组
# 1.1 数组
- 数组是一个具有
固定长度
的同类型元素的集合
,不能改变 - 如果需要存储更多的元素,就需要先创建一个更长的数组,再把原来数组里的值复制到新数组里
# 1.2 引用类型
- golang 的引用类型包括 slice、map、channel、function、pointer 等.
- 它们在进行赋值时拷贝的是指针值,但拷贝后指针指向的地址是相同的.
# 02.切片的内部实现
- 切片是一个基于数组的动态数据结构,其长度和容量可以动态变化
- 切片底层内存也是在连续块中分配的
- 切片本质上是一个结构体,包含了以下三个部分
- 指针:
指向存储数据的数组
- 长度:
元素个数
- 容量:从切片开始位置到底层数组末尾的元素个数,可以通过
cap()
函数获取
- 指针:
上次更新: 2024/10/15 16:27:13