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) } }
执行结果