Go内置函数cap
2015-08-30 15:28
351 查看
func cap(v Type) int
返回指定类型的容量,根据不同类型,返回意义不同。
数组: 元素个数 (和len(v)一样).
数组指针: *v的元素个数 (和len(v)一样).
Slice: the maximum length the slice can reach when resliced;如果v==nil, cap(v) 值为0;
Channel: channel 缓存区的容量, 以其中的元素为单位;如果v==nil, cap(v) 值为0;
参考代码:
输出结果:
cap(arr) : 3
len(arr) : 3
cap(slice1) : 5
cap(slice2) : 5
cap(c1) : 0
cap(c2) : 2
返回指定类型的容量,根据不同类型,返回意义不同。
数组: 元素个数 (和len(v)一样).
数组指针: *v的元素个数 (和len(v)一样).
Slice: the maximum length the slice can reach when resliced;如果v==nil, cap(v) 值为0;
Channel: channel 缓存区的容量, 以其中的元素为单位;如果v==nil, cap(v) 值为0;
参考代码:
package main import ( "fmt" ) func main() { arr := []int{1, 2, 3} fmt.Println("cap(arr) : ", cap(arr)) fmt.Println("len(arr) : ", len(arr)) //长度和容量都为5 slice1 := make([]string, 5) //长度为3,容量为5 slice2 := make([]int, 3, 5) fmt.Println("cap(slice1) : ", cap(slice1)) fmt.Println("cap(slice2) : ", cap(slice2)) c1 := make(chan int) c2 := make(chan int, 2) fmt.Println("cap(c1) : ", cap(c1)) fmt.Println("cap(c2) : ", cap(c2)) }
输出结果:
cap(arr) : 3
len(arr) : 3
cap(slice1) : 5
cap(slice2) : 5
cap(c1) : 0
cap(c2) : 2
相关文章推荐
- Goods:修改密码功能及退出功能实现
- django 1.8 官方文档翻译: 3-2-3 TemplateResponse 和 SimpleTemplateResponse
- win8企业版插入Windows To Go驱动器不显示怎么办?
- 6886 - Golf Bot
- 【英语】Bingo口语笔记(61) - mind系列
- 【英语】Bingo口语笔记(60) - 口语中的浊化发音
- 360 搜索到底拐走了 Google 多少流量?
- Google学术指数2015版
- django 1.8 官方文档翻译: 14-4-1 重定向应用
- django 1.8 官方文档翻译: 3-4-5 内建基于类的视图的API
- django 1.8 官方文档翻译: 2-1-4 Model 类参考
- django 1.8 官方文档翻译: 13-1-1 Django 中的用户认证
- django开发博客(1) 入门
- ubuntu安装Google Chrome
- leetcode: (9) Palindrome Number
- Goods:登录页面之登录功能的实现
- django分页技术paginator
- EM算法(Expectation Maximization Algorithm)
- django Q查询
- 安装go语言