golang切片

1. 切片初始化
    make([]Type, length, capacity)
    make([]Type, length)
    []Type{value1 , value2 , ... , valueN }
    
    
2. 通过切片创建新的切片    
    refer: https://www.cnblogs.com/sparkdev/p/10704614.html
    
    slice[i:j:k]
    其中 i 表示从slice的第几个元素开始切,j 控制切片的长度(j-i),k 控制切片的容量(k-i),如果没有给定 k,则表示切到底层数组的最尾部

    buf := make([]int32, 0, 10)    //buf初始化,但长度为0
    buf2: = buf[1:3:4]            //buf2已经初始化, 内容为[]int32{0,0},切片长度为2(3-1), 容量为3(4-1)
    buf2[0] = 100                //buf2: []int32{100,0}


3. 切片扩容    
    append()
    当增加元素数量超过切片容量时,append()会在旧切片上产生新切片
    
   

posted @ 2022-02-10 19:59  小夜天  阅读(201)  评论(0编辑  收藏  举报