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