Go语言 之append函数使用

package main

import (
    "fmt"
)

//1.append函数可以一次添加多个值
//2.append函数用于向切片追加
func main04() {
    slice := make([]int, 5, 8)
    slice = append(slice, 1, 2)
    slice = append(slice, 3)
    fmt.Println(slice) //[0 0 0 0 0 1 2 3]
    fmt.Printf("len=%d, cap=%d", len(slice), cap(slice))
}

append() 函数可以向 slice 尾部添加数据,可以自动为切片扩容。常常会返回新的 slice 对象。

append函数会智能的将底层数组的容量增长,一旦超过原底层数组容量,通常以2倍(1024以下)容量重新分配底层数组,并复制原来的数据。因此,使用append 给切片做扩充时,切片的地址可能发生变化。但,数据都被重新保存了,不影响使用。

posted @ 2019-07-01 16:45  样子2018  阅读(1830)  评论(0编辑  收藏  举报