Go语言 使用append() 为切片动态添加元素

时间:2022-11-26 18:00:52

  Go语言的内建函数 append() 可以为切片动态添加元素。不过需要注意的是,在使用 append() 函数为切片动态添加元素时,如果空间不足以容纳足够多的元素,切片就会进行“扩容”,此时新切片的长度会发生改变。

  程序代码

package main

import "fmt"

func main() {

    fmt.Println("为切片动态添加元素")
    var a []int
    a = append(a, 1)                 //追加一个元素
    a = append(a, 2, 3, 4)           //追加一组元素
    a = append(a, []int{5, 6, 7}...) //追加一个切片, 切片需要解包

    for k, v := range a {
        fmt.Printf("%d %d n", k, v)
    }
    fmt.Println("在切片的开头添加元素")
    var b = []int{1, 2, 3}
    b = append([]int{0}, b...)      //在开头添加1个元素
    b = append([]int{-2, -1}, b...) //在开关添加1个切片
    for k, v := range b {
        fmt.Printf("%d %d n", k, v)
    }
}

 

  执行结果

Go语言 使用append() 为切片动态添加元素