Go语言中new与make的区别

1、new可以是任意类型,返回的是指针:*T,只分配内存,不初始化内存,只是将其置零
2、make只能用于map,slice,chan,返回一个初始化的(而不是置零),类型为T的值

创新互联长期为上千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为康保企业提供专业的成都做网站、成都网站制作、成都外贸网站建设康保网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。

举例:

var map1 = new(map[string]string)
(*map1)["china"] = "中国"    // 此处会报错:panic: assignment to entry in nil map。
                                               //  因为map零值为nil,不能向为nil的map中增加数据

var map2 = make(map[string]string)
map2["china"] = "中国"   // 因为make返回一个已经初始化的map,可以直接向其中增加数据 

网站栏目:Go语言中new与make的区别
链接地址:http://hxwzsj.com/article/pcchss.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 重庆外贸网站建设 成都网站建设公司 手机网站设计 成都网站建设 成都网站设计 成都网站建设公司 成都网站设计 成都网站设计 专业网站设计 成都响应式网站建设 成都网站制作 响应式网站设计方案 成都网站建设公司 网站制作 高端网站建设 网站设计公司 成都响应式网站建设 手机网站建设套餐 网站设计制作报价 成都网站建设 成都网站建设 成都模版网站建设