func TestArray(t *testing.T) {
var arr [3]int //声明并初始化长度
t.Log(arr[1])
arr1:=[...]int{1,2,3}//声明同时初始化
t.Log(arr1[1])
}
func TestArrayTravel(t *testing.T) {
arr:=[...]int{1,2,3,4}
for idx,e:=range arr{
t.Log(idx,e)
}
t.Log(arr[1:len(arr)])
}
a[开始索引(包含),结束索引(不包含)]
a:=[...]int{1,2,3}
a[1,2] //2
- len 元素的个数
- cap 内部数组的容量
- 切片共享存储修改会影响使用的数据,容易出错 (重点注意)
//切片
func TestSliceInit(t *testing.T) {
var s[] int //定义切片
t.Log(len(s),cap(s))
s=append(s,1) //追加元素
t.Log(len(s),cap(s))
s1:=[] int{1,2,3}
t.Log(len(s1),cap(s1))
s2:=make ([]int,2,3)
t.Log(len(s2),cap(s2))
}
func TestSliceGrowing(t *testing.T) {
s:=[]int{}
for i:=0;i<10 ;i++ {
s=append(s,i)
t.Log(len(s),cap(s))
}
}
//切片共享存储修改会影响使用的数据,容易出错
func TestSliceShare(t *testing.T) {
s:=[]string{"1","2","3","4","5"}
Q:=s[3:5]
t.Log(Q,len(Q),cap(Q))
su:=s[1:3]
t.Log(su,len(su),cap(su))
}