• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

开发日记002————内存分配问题(new var make)

开发技术 开发技术 2小时前 1次浏览

开门见山的说这篇是为了内存分配写的

先说一下golang的基本类型可以简单分为 

值类型 (此括号以及一下括号仅为举例:int int32 int64 unit)

引用类型 (slice map)

指针类型 (*值类型)

 

对于值类型,var声明会为他分配内存空间并赋0值

而指针引用则不会默认为nil

开发日记002————内存分配问题(new var make)

 

 开发日记002————内存分配问题(new var make)

 

 会提示invalid address or nil pointer dereference

 

var mib = []byte{0, 0, 0, 0, 0, 0, 0,0}
实际上是分配了内存的

开发日记002————内存分配问题(new var make)

 

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

 开发日记002————内存分配问题(new var make)

 

 

换句话说用字面量声明的数组是有内存的

而var只能为值类型自动分配内存

 

new是直接分配内存地址

make也是内存分配函数但是仅限于引用类型使用


程序员灯塔
转载请注明原文链接:开发日记002————内存分配问题(new var make)
喜欢 (0)