EEPROM带电可擦可编程IC存储器芯片大全-亿配芯城-golang通过切片创建新的切片
你的位置:EEPROM带电可擦可编程IC存储器芯片大全-亿配芯城 > 芯片资讯 > golang通过切片创建新的切片
golang通过切片创建新的切片
发布日期:2023-12-31 08:03     点击次数:72
通过切片创建新的切片

切片之所以被称为切片,是因为创建一个新的切片,也就是把底层数组切出一部分。通过切片创建新切片的语法如下:

slice[i:j]
slice[i:j:k]

其中 i 表示从 slice 的第几个元素开始切,j 控制切片的长度(j-i),k 控制切片的容量(k-i),如果没有给定 k,则表示切到底层数组的最尾部。下面是几种常见的简写形式:

slice[i:]  // 从 i 切到最尾部
slice[:j]  // 从最开头切到 j(不包含 j)
slice[:]   // 从头切到尾,等价于复制整个 slice

让我们通过下面的例子来理解通过切片创建新的切片的本质:

// 创建一个整型切片
// 其长度和容量都是 5 个元素
num := []int{1, 2,
电子元器件PDF资料大全 3,
CMOS图像传感器集成电路芯片 4,芯片交易网IC交易网 5}
// 创建一个新切片
// 其长度为 2 个元素,
EEPROM带电可擦可编程存储器芯片大全容量为 4 个元素
myNum := slice[1:3]

执行上面的代码后, ATMEGA系列ATMEL芯片COMEEPROM带电可擦可编程存储器芯片大全我们有了两个切片,它们共享同一段底层数组,但通过不同的切片会看到底层数组的不同部分:

图片

注意:截取新切片时的原则是 "左含右不含"。所以 myNum 是从 num 的 index=1 处开始截取,截取到 index=3 的前一个元素,也就是不包index=3 这个元素。

所以,新的 myNum 是由 num 中的第2个元素、第3个元素组成的新的切片构,长度为 2,容量为 4。切片 num 能够看到底层数组全部 5 个元素的容量,而 myNum 能看到的底层数组的容量只有 4 个元素。num 无法访问到底层数组的第一个元素。所以,对 myNum 来说,那个元素就是不存在的。