切片作为一个动态数组是可以添加元素的,添加方式为内建方法append。
扩容机制:按照当前容量两倍扩容,把原来的内容给拷贝过来。扩容之后和之前的数组没有关系了
s1 := append(s, 1)
: 把 1 追加到 s1 里面。append 返回值是新生成的切片
s3 := append(s2, t...)
: t... 表示把切片中的值给添加进来。go当中无法直接将两个切片通过 append 连接
var s4 = make([]int, 3, 10)
: 这里开辟的切片的前3个位置是0,如果再添加数值是从第4个位置开始
package main
import "fmt"
func main() {
var s []int
s1 := append(s, 1)
fmt.Println(s1)
s2 := append(s1, 2, 3, 4)
fmt.Println(s2)
var t = []int{5, 6, 7}
s3 := append(s2, t...)
fmt.Println(s3)
var s4 = make([]int, 3, 10)
s5 := append(s4, 100)
fmt.Println(s5)
}
运行结果
[1]
[1 2 3 4]
[1 2 3 4 5 6 7]
[0 0 0 100]
网友评论