day02-13pointer

指针(指向内存的地址)

&:取内存地址

*:根据内存地址取值

vscode 不支持go module

n := 18
fmt.Println(&n)
//0xc0000100a8
p := &n
fmt.Printf("%T\n",p) //*int  int类型的指针,如果是*string 及时string类型的指针
//*int

m := *p
fmt.Println(m)
//18
fmt.Printf("%T\n",m)
//int

new 函数申请一个内存地址,很少用,一般给基本数据类型申请内存地址,string,int...,返回的是对应类型的指针

var a = new(int)
*a = 100
fmt.Println(*a)
//100

make也是分配内存地址的,它只用于slice,map以及chan的内存创建,make函数返回的是对应的这三个类型的本身

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 和老婆电话说说小女儿年底有节目不能请假,孩子特别高兴积极去上学了。大女儿一副胸有成竹的样子,啥也不在乎。我们只能安...
    紫木生金阅读 91评论 0 1
  • 焦点高级一期 洛阳 杜红平 坚持分享第662天 自我控制的方法很多,主要作用于行为的三个环节一一先行事件,行为,后...
    随喜Prajana阅读 126评论 0 0
  • 严方本制变多端,羊角轩昂一例寒。劳动图腾矜有式,腰中直柄入镰弯。
    今回阅读 229评论 0 0