关于go的slice 底层,这里不多做介绍,就是一个struct和一个数组构成。
通过以下几个例子说明,go对slice的处理方式。
(1)
func main() {
var t = make([]int, 0, 10)
var s = make([]int, 0, 10)
fmt.Printf("addr:%p \t\tlen:%v content:%v\n", t, len(t), t)
fmt.Printf("addr:%p \t\tlen:%v content:%v\n", s, len(s), s)
t = append(s, 1, 2, 3, 4)
fmt.Printf("addr:%p \t\tlen:%v content:%v\n", t, len(t), t)
fmt.Printf("addr:%p \t\tlen:%v content:%v\n", s, len(s), s)
}
运行结果如下:
在上例子中:
首先,定义了两个slice,分别为t,s。
这两个slice对应着两