Go语言切片的理解

·  阅读 553

切片slice是一个引用类型,底层对应着一个数组

切片定义时[]里面不写具体数字,使用[...]定义时表示自动获取长度的数组

  1. 对切片进行扩容
arr := [...]int{1,2,3,4,5,6,7,8,9}
s1 := arr[:]
s1 = append(s1,10)
复制代码
  1. 对切片进行减去
arr := [...]int{1,2,3,4,5,6,7,8,9}
s1 = append(arr[:1],arr[2:]...)
//此时arr的值为 1,3,4,5,6,7,8,9,9 相当于从第3个元素开始往前复制了一位
复制代码
  1. 对切片进行拷贝
arr := [...]int{1,2,3,4,5,6,7,8,9}
s1 := arr[:]
s2 := make([]int,9,9)
copy(s2,s1)
arr[0] = 100
fmt.Println(s1)
fmt.Println(s2)
//运行结果
//s1 = [100 2 3 4 5 6 7 8 9]
//s2 = [1 2 3 4 5 6 7 8 9]
复制代码
分类:
后端
标签:
分类:
后端
标签: