简介

内建函数 make 用来为 slice,map 或 chan 类型分配内存和初始化一个对象(注意:只能用在这三种类型上)

slice

// 长度为5,容量为10的slice,slice中的元素是int
var slice_ []int = make([]int,5,10)
fmt.Println(slice_) var slice_1 []int = make([]int,5)
fmt.Println(slice_1) var slice_2 []int = []int{1,2}
fmt.Println(slice_2)

  

打印结果:

[0 0 0 0 0]
[0 0 0 0 0]
[1,2]

用第三个参数设置该slice的容量(即底层数组的长度)。如果能够预足容量,那么在slice中数据增长的过程中不需要更换底层数组(附带拷贝过程),这样效率更高

map

var m_ map[string]int = make(map[string]int)
m_["one"] = 1
fmt.Println(m_) var m map[string]int = map[string]int{"1":1}
m["2"] = 2
fmt.Println(m)

  

打印结果:

map[one:1]
map[1:1 2:2] 根据 size 大小来初始化分配内存,不过分配后的 map 长度为 0,如果 size 被忽略了,那么会在初始化分配内存时分配一个小尺寸的内存

chanel

管道缓冲区依据缓冲区容量被初始化。如果容量为 0 或者忽略容量,管道是没有缓冲区的

 

最新文章

  1. SQL 截取字符串
  2. Nopcommerce主要的技术
  3. asp.net脚本获取不到id,服务器控件id生成html页面id控制
  4. Android Eclipse 里面依赖工程无法关联源码解决方案
  5. Oracle一些常用的查询命令总结(持续更新)
  6. Cisco asa 5510升级IOS和ASDM
  7. css笔记 css用法:
  8. GridView ItemCommand
  9. 用vld分析C++内存泄漏
  10. %s的用法
  11. eclipse 添加resources 目录
  12. 关于jstl.jar引用问题及解决方法
  13. Docker快速指南
  14. noip2011 玛雅游戏 大模拟
  15. ArcGIS——2015年安徽各市GDP总量分级图(3等级)
  16. SpringBoot集成RabbitMQ 从零到一,学会MQ异步和解耦--
  17. React了解
  18. SpringBoot2.0+ DataSourceInitializer不生效的问题
  19. CentOS6.5 安装Storm集群
  20. Python 读写

热门文章

  1. 计蒜客 41387.XKC's basketball team-线段树(区间查找大于等于x的最靠右的位置) (The Preliminary Contest for ICPC Asia Xuzhou 2019 E.) 2019年徐州网络赛
  2. 重装了服务器,用的是centos/php微信小程序版,centos 命令大全
  3. UE运行sas配置-WIN10
  4. uniapp - 富文本编辑器editor(仅支持App和微信小程序)
  5. Invalid bound statement (not found) 终极解决办法
  6. Mac Mini 2014 更换SSD 升级SSD
  7. C++中深入理解dynamic_cast
  8. vue中axios使用二:axios以post,get,jsonp的方式请求后台数据
  9. java agent 详细介绍 -javaagent参数
  10. Java 文件句柄泄露问题解决小记(转)