Go slice的容量和长度
2015-01-08 16:10
183 查看
<!-- lang: cpp --> package main import ( "fmt" ) func main() { a := []int{1,2,3,4} fmt.Println("a:",len(a), cap(a), a) b := [10]int{1,2,3,4} fmt.Println("b:",len(b), cap(b), b) c := make([]int, 4, 10) fmt.Println("c:",len(c), cap(c),c) d := b[:5] fmt.Println("d:",len(d), cap(d),d) e := append(d,5) //append后d的容量不变 e[0] = 100//没超出底层数组的容量,因此e和d都指向同一个数组,修改e会影响d fmt.Println("d after append:",len(d), cap(d),d) fmt.Println("e:",len(e), cap(e),e) }
执行结果:
a: 4 4 [1 2 3 4]
b: 10 10 [1 2 3 4 0 0 0 0 0 0]
c: 4 10 [0 0 0 0]
d: 5 10 [1 2 3 4 0]
d after append: 5 10 [100 2 3 4 0]
e: 6 10 [100 2 3 4 0 5]
相关文章推荐
- go语言,切片研究,容量,长度,复制,追加
- 在 Go 中如何使用切片的容量和长度
- go slice 第三个参数是容量
- Slice的长度和容量
- 4.4获得字符串的长度--4.9 字符串长度和容量
- go语言学习笔记之slice用法
- go slice与函数
- go中string和slice no-copy转换
- 8.笔记go语言——复杂类型struct,slice,map
- Go语言中的数组(array)和数组切片(slice)
- Go语言学习笔记(四) [array、slice、map]
- go语言中的slice
- go - 复合类型 array, slice, map
- 【Go语言】基本类型排序和 slice 排序
- java中数组的最大长度以及List的最大容量
- Go语言中的Array、Slice、Map和Set使用详解
- go slice和数组的区别
- go语言的 数组、slice、map使用(转)
- Go语言中slice的用法实例分析
- 不同磁道上扇区的长度不一样,为什么容量还一样