首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >make和new的使用问题

make和new的使用问题

作者头像
公众号-利志分享
发布2022-04-25 08:43:55
发布2022-04-25 08:43:55
8250
举报
文章被收录于专栏:利志分享利志分享

//make和new的使用问题

package main

//make和new的区别

import (

"fmt"

)

var m map[string]string

func main() {

var i *int

i = new(int)

fmt.Println(i)

fmt.Println(*i)

*i = 10

fmt.Println(i)

fmt.Println(*i)

m = make(map[string]string)

fmt.Println(m)

m["k"] = "v"

fmt.Println(m)

}

//两者都是在堆上分配内存,new执行之后返回的是指针类型的指针,创建之后把变量置为0值,make是用于引用类型(map,chan,slice)的创建,返回是引用类型的本身。

//简而言之:new 创建的是指针类型,make 创建的类型本身

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 利志分享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档