golang-学习记录-数组添加以及copy

package main

import "fmt"

func main() {
    var num []int
    printSlice(num)
    /* 允许追加空切片 */
    num = append(num)
    printSlice(num)
    /* 向切片添加一个元素 */
    num=append(num,0)
    printSlice(num)
    /* 同时添加多个元素 */
    num=append(num,1,2,3)
    printSlice(num)
    /* 创建切片 num1 是之前切片的两倍容量*/
    num1 := make([]int, len(num), cap(num)*2)
    printSlice(num1)
    /* 拷贝 numbers 的内容到 numbers1 */
    copy(num1,num)
    printSlice(num1)

}

func printSlice(x []int)  {
    fmt.Printf("len=%d cap=%d slice=%v\n",len(x),cap(x),x)
}

执行结果

len=0 cap=0 slice=[]
len=0 cap=0 slice=[]
len=1 cap=1 slice=[0]
len=4 cap=4 slice=[0 1 2 3]
len=4 cap=8 slice=[0 0 0 0]
len=4 cap=8 slice=[0 1 2 3]

 

posted @ 2021-08-19 15:56  sin涛涛  阅读(2055)  评论(0)    收藏  举报