Go语言内存分配机制
2015-10-02 22:56
645 查看
前言: 本文是学习<<go语言程序设计>> -- 清华大学出版社(王鹏 编著) 的2014年1月第一版 做的一些笔记 , 如有侵权, 请告知笔者, 将在24小时内删除, 转载请注明出处!
Go语言有两种内存分配机制 , 分别是内置函数 new() 和make().
- new()
- 定义: func new(Type) * Type
- 返回值是一个内存块指针
- new() 是一个内置函数, 不同于其他语言中的new操作符, 它只将内存清零, 而不是初始化内存.
- make()
- 定义: func make(Type, size IntegerType) Type
- 在调用make() 函数时, Type必须是引用类型 (Slice , Map 或 Channel), IntegerType指定要创建的对象的个数.
- make() 返回值是一个对象, 而不是new返回的一个内存空间指针.
- make 和 new 对比
Go语言有两种内存分配机制 , 分别是内置函数 new() 和make().
- new()
- 定义: func new(Type) * Type
- 返回值是一个内存块指针
- new() 是一个内置函数, 不同于其他语言中的new操作符, 它只将内存清零, 而不是初始化内存.
- make()
- 定义: func make(Type, size IntegerType) Type
- 在调用make() 函数时, Type必须是引用类型 (Slice , Map 或 Channel), IntegerType指定要创建的对象的个数.
- make() 返回值是一个对象, 而不是new返回的一个内存空间指针.
- make 和 new 对比
var p * []int = new([]int) var v []int = make([]int,10)
相关文章推荐
- golang snmp开发学习笔记(一)
- golang的采集库
- hdu1056 HangOver
- 2011 Regular Polygon
- BZOJ1574 USACO 2009 Jan Gold 1.Earthquake Damage Solution
- GOF 23设计模式之 享元模式(FlyWeight)
- GO RPC
- 7-v4l2——format negotiation 格式协商
- GOF 23设计模式之 外观模式 迪米特法则
- BA-siemens-desigo_cc安装
- Alpha-expansion and Alpha-beta-swap Algorithm Flow
- hdu acm 4341 Gold miner
- Go-简洁的并发
- hihocoder#1044状态压缩dp+滚动数组
- HDOJ 1902 The Dragon of Loowater【贪心】
- 搜索的正确姿势
- 精读《In The Plex》,这本迄今为止最全面解析Google却迟迟没有
- GOF 23设计模式之 装饰模式(Decorator)
- UVA 11292 Dragon of Loowater
- Golang 1.3 发布时间。最终找到地方下载。