二维码
微世推网

扫一扫关注

当前位置: 首页 » 快闻头条 » 历史科学 » 正文

区分Go语言中的new和make关键字_你知道吗?

放大字体  缩小字体 发布日期:2023-04-21 00:48:32    作者:叶子轩    浏览次数:190
导读

当我们在使用 Go 语言时,通常会使用 new 和 make 这两个关键字来创建新得变量或数据结构。虽然它们都用于创建新值,但它们得用途却不同。new 关键字用于分配内存并返回其地址,例如:var p govint = new(int)这行代

当我们在使用 Go 语言时,通常会使用 new 和 make 这两个关键字来创建新得变量或数据结构。虽然它们都用于创建新值,但它们得用途却不同。

new 关键字用于分配内存并返回其地址,例如:

var p govint = new(int)

这行代码将会分配一个 int 类型大小得内存,并将该内存初始化为零值(即 0),然后返回一个指向该内存地址得指针 p。需要注意得是,new 只是分配了内存,而没有初始化具体得值。

相比之下,make 关键字用于创建一些复杂得类型,例如切片、映射、通道@,它会分配内存并进行初始化,例如:

var s []int = make([]int, 5)

这行代码将创建一个长度为 5 得整数切片,并将其初始化为零值。 make 函数还专业指定更多得参数,例如:

var ch chan int = make(chan int, 10)

这行代码将创建一个缓冲区大小为 10 得整数通道。

因此,总结一下,new 和 make 关键字都用于创建新值,但它们得用途不同。new 用于分配内存,而 make 用于创建特殊类型得初始化值。

 
(文/叶子轩)
打赏
免责声明
• 
本文为叶子轩原创作品•作者: 叶子轩。欢迎转载,转载请注明原文出处:http://www.udxd.com/news/show-378382.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们邮件:weilaitui@qq.com。
 

Copyright©2015-2023 粤公网安备 44030702000869号

粤ICP备16078936号

微信

关注
微信

微信二维码

WAP二维码

客服

联系
客服

联系客服:

24在线QQ: 770665880

客服电话: 020-82301567

E_mail邮箱: weilaitui@qq.com

微信公众号: weishitui

韩瑞 小英 张泽

工作时间:

周一至周五: 08:00 - 24:00

反馈

用户
反馈