Go 复合类型之切片类型
[TOC]
一、引入
我们在上一个节Go复合类型之数组类型提到过,数组作为最基本同构类型在 Go 语言中被保留了下来,但数组在使用上确有两点不足:固定的元素个数,以及传值机制下导致的开销较大。于是 Go 设计者们又引入了另外一种同构复合类型:切片(slice),来弥补数组的这两处不足。
二、切片(Slice)概述
2.1 基本介绍
切片(Slice)是编程中常用的数据结构,它是一种灵活的序列类型,通常用于对序列(如数组、列表、字符串等)进行部分或整体的访问、修改和操作。切片允许你从原始序列中选择一个范围(片段)的元素,而不需要复制整个序列。
在许多编程语言中,切片通常由两个索引值表示,一个起始索引和一个结束索引,这两个索引之间的元素将被提取出来。切片操作可以用于读取元素、替换元素、扩展序列等各种用途,使得代码更加简洁和可读。
- 切片遍历方式和数组一样,可以用len()求长度。表示可用元素数量,读写操作不能超过该限制。
- cap可以求出slice最大扩张容量,不能超出数组限制。0