芯片资讯
热点资讯
- FPGA排序-冒泡排序(Verilog版)介绍
- Infineon品牌SLE 4432 C芯片IC EEPROM 256BYTE CHIP的技术和方案应用介绍
- 深度解析索尼的多重曝光HDR技术
- FPGA浮点IP内核究竟有哪些优势呢?
- Microchip微芯半导体AT97SC3205T-X3A1C20B芯片FF COM I2C TPM 4.4MM TSS
- 聊一聊MEMS先生的微机电系统
- Melexis品牌MLX81113KDC-BAB-000-RE芯片IC LIN RGB CTRLR 32KB 4CH 8
- pH传感器的工作原理及应用
- Atmel品牌AT17LV65-10JI芯片CONFIG MEMORY, 64KX1, SERIAL的技术和方案应用介绍
- 大疆的低成本高阶智能驾驶方案详解
你的位置:EEPROM带电可擦可编程IC存储器芯片大全-亿配芯城 > 芯片资讯 > golang通过切片创建新的切片
golang通过切片创建新的切片
- 发布日期:2023-12-31 08:03 点击次数:78 通过切片创建新的切片
切片之所以被称为切片,是因为创建一个新的切片,也就是把底层数组切出一部分。通过切片创建新切片的语法如下:
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芯片COM我们有了两个切片,EEPROM带电可擦可编程存储器芯片大全它们共享同一段底层数组,但通过不同的切片会看到底层数组的不同部分:
注意:截取新切片时的原则是 "左含右不含"。所以 myNum 是从 num 的 index=1 处开始截取,截取到 index=3 的前一个元素,也就是不包index=3 这个元素。
所以,新的 myNum 是由 num 中的第2个元素、第3个元素组成的新的切片构,长度为 2,容量为 4。切片 num 能够看到底层数组全部 5 个元素的容量,而 myNum 能看到的底层数组的容量只有 4 个元素。num 无法访问到底层数组的第一个元素。所以,对 myNum 来说,那个元素就是不存在的。
相关资讯
- 合宙Air795系列模组通过CE/FCC认证2024-01-21
- Go切片的内部实现2023-12-31