go基础——make、new操作
来源:互联网 发布:ubuntu 路径 编辑:程序博客网 时间:2024/06/05 15:01
学习笔记,来自《Go Web 编程》
make、new操作
- make用于内建类型(map、slice 和channel)的内存分配。
- new用于各种类型的内存分配。
内建函数new本质上说跟其它语言中的同名函数功能一样:new(T)分配了零值填充的T类型的内存空间,并且返回其地址,即一个*T类型的值。用Go的术语说,它返回了一个指针,指向新分配的类型T的零值。有一点非常重要:new返回指针。
内建函数make(T, args)与new(T)有着不同的功能,make只能创建slice、map和channel,并且返回一个有初始值(非零)的T类型,而不是*T。本质来讲,导致这三个类型有所不同的原因是指向数据结构的引用在使用前必须被初始化。
例如,一个slice,是一个包含指向数据(内部array)的指针、长度和容量的三项描述符;在这些项目被初始化之前,slice为nil。对于slice、map和channel来说,make初始化了内部的数据结构,填充适当的值。
make返回初始化后的(非零)值。
0 0
- go基础——make、new操作
- Go语言基础:array、slice、make和new操作、map
- Go 语言 make & new
- go new make
- Go语言基础:make,new, len, cap, append, delete方法
- Go语言基础:make,new, len, cap, append, delete方法
- Go中的make和new
- go语言make()和new()
- Go语言学习三:Go基础(iota,array,slice,map,make,new)
- Golang — new与make
- go语言的new和make
- Go中的make和new的区别
- go中new和make的区别?
- go 中 make 与 new 的区别
- go new函数和make函数
- go中new和make的区别
- Go new和make的区别
- Go编程基础—go常用命令
- 黑马程序员 java 基础 毕向东 面向对象 集合框架 Map HashTable HashMap TreeMap
- Length of Last Word
- nyoj268荷兰国旗问题
- cocos2d-x 数学函数、常用宏粗整理
- Linux的input输入子系统:总体框架
- go基础——make、new操作
- 讨厌转弯的机器人(广搜变形)
- 从网页相关性TF-IDF到余弦定理的新闻分类的程序实现
- java单个字符处理
- 面对对象--嵌入式C编程架构 OOPC
- 浅析malloc()的实现方式
- 子函数中为调用者分配内存的一些理解
- prepareStatement与Statement的区别
- php中empty函数与isset函数的用法区别