一、俩种创建
- 没有长度的[ ],这里区别于数组,数组是有长度的,nums := []int{num1, num2, num3, num4}
- 通过make创建make([ ]int, len, cap)
二、俩种拷贝
- =拷贝会直接赋值地址,这时俩个切片指向同一块地址空间
- copy是值拷贝,会复制一份值到目标切片(这里注意数组是必须长度一样才能拷贝)
三、俩种添加
- 用append(s, num):在切片s后面加上数字num,特别注意返回的是一个切片要用容器接收
- 用切片s[low: high: max] low默认值是0,high的默认值是切片长度,最终结果含左不含右,len=high-low,cap=max-low
四、示例
package main
import (
"fmt"
)
//切片的创建以及赋初值
func main(){
nums1 := make([]int, 1)
nums2 := []int{1, 2, 3}
for k,v := range nums1 {
fmt.Println(k, v)
}
fmt.Println(cap(nums1))
copy(nums1, nums2)
nums1 = nums2
nums2[0] = 10
fmt.Println(nums1[0])
}