开发日记002————内存分配问题(new var make)
开门见山的说这篇是为了内存分配写的
先说一下golang的基本类型可以简单分为
值类型 (此括号以及一下括号仅为举例:int int32 int64 unit)
引用类型 (slice map)
指针类型 (*值类型)
对于值类型,var声明会为他分配内存空间并赋0值
而指针引用则不会默认为nil


会提示invalid address or nil pointer dereference
var mib = []byte{0, 0, 0, 0, 0, 0, 0,0}
实际上是分配了内存的

但是直接声明是没有分配内存的

换句话说用字面量声明的数组是有内存的
而var只能为值类型自动分配内存
new是直接分配内存地址
make也是内存分配函数但是仅限于引用类型使用

浙公网安备 33010602011771号