make() 是 Go 语言内存分配的内置函数,默认有三个参数。
make(Type, len, cap)
三个参数
Type:数据类型,必要参数,Type 的值只能是 slice、 map、 channel 这三种数据类型。
len:数据类型实际占用的内存空间长度,map、 channel 是可选参数,slice 是必要参数。
cap:为数据类型提前预留的内存空间长度,可选参数。所谓的提前预留是当前为数据类型申请内存空间的时候,提前申请好额外的内存空间,这样可以避免二次分配内存带来的开销,大大提高程序的性能。
make() 的三种不同用法:
第一种,只传类型,不指定实际占用的内存空间和提前预留的内存空间,适用于 map 和 channel 。
第二种,指定实际占用的内存空间为 2,不指定提前预留的内存空间。
第三种,指定实际占用的内存空间为 2,指定提前预留的内存空间是 4。
参考:
https://blog.csdn.net/yilovexing/article/details/121172745
作者:西伯尔
出处:http://www.cnblogs.com/sybil-hxl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。