本文总结了Go语言中切片的一些使用技巧和在实际使用中可能会踩“坑”的地方
上篇文章回顾: bats-Bash自动化测试工具
Go语言中的切片
切片(slice)是Go语言中最基本和最常用的数据结构之一,在本文中希望可以帮助读者更好的使用这一数据结构。
01什么是切片
切片表示一个具有相同数据类型元素的的序列,切片的长度可变,通常写成[]T,其中元素的类型都是T。
切片用来访问数组的部分或全部元素,这个数组称为切片的底层数组。切片主要有三个属性:指针、长度和容量,指针指向切片的第一个元素,长度是指切片中元素的大小,而容量是指切片第一个元素到底层数组的最后一个元素间元素的个数。
02切片的一些操作
切片的操作主要通过append,copy和切片操作符(s[i:j],其中 0<i<j<cap(s))来完成,这里介绍一下切片常用的操作技巧和对数组应用切片操作时需要注意的问题。
1、切片常用操作技巧
(1)拼接两个切片
// 拼接切片a和ba = append(a, b...)
(2)复制一个切片
b = append([]T(nil), a...)
b = append(a[:0:0], a...)
(3)删除切片的第i~第j-1个元素([i,j))
// 从a中删除a[i:j]a