博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
golang中 struct{} 和 struct
阅读量:3951 次
发布时间:2019-05-24

本文共 523 字,大约阅读时间需要 1 分钟。

golang中 struct{} 和 struct

使用 new 函数时,声明变量和分配内存并不需要放在一起,可以先声明一个变量,然后再通过 new 函数为之分配内存,比如下面的写法:

var nick *Personnick = new (Person)

new 函数的特点是只能把内存初始化为零值并返回其指针,如果要通过字面量初始化该内存就需要使用混合字面量语法:

&T{…}
比如下面的写法:

nick := &Person{
Name: "nick", Age: 28, Email: "nickli@xxx.com",}

此时 nick 的类型也是 *Person。因此我们可以得出下面的结论:

表达式 new(Type)&Type{} 是等价的。

所以一般如果是只声明(定义)一个struct 直接用: var s1 struct; 把struct当作int就行,struct内部都是0值(非空)

而声明结构体指针时,由于指针不显式只想一块内存的话是nil,所以声明的时候用 var p1 = &struct{} 后面的{}相当于 new的作用:分配一块内存(&p1 的值),把p1指向这块内存。

转载地址:http://onkzi.baihongyu.com/

你可能感兴趣的文章
先搞懂这八大基础概念,再谈机器学习入门!
查看>>
2017年深度学习必读31篇论文(附下载地址)
查看>>
数据看穿一生:前半生赚钱养娃,后半生赚钱买命
查看>>
【资源】年底送你一套编程视频(含源码)
查看>>
用Python给“冲顶大会”做外挂!王思聪们还敢撒币吗?
查看>>
用算法撩妹都不会,别跟我说你是程序员(文末附Python零基础入门课程)
查看>>
2017人工智能与机器学习年终盘点(重要工具资源汇总)
查看>>
收藏!超全机器学习资料合集!(附下载)
查看>>
绝地求生外挂源代码被公布,或迎神仙大战时代?
查看>>
火爆全球的区块链到底是怎么一回事?一文带你看懂
查看>>
当白帽黑客遇到了网络诈骗,他是如何套路并反制骗子的?
查看>>
手把手教你36小时搭建无人超市系统 !(附代码)
查看>>
2017新生儿爆款名字出炉!90后的父母们最受欢迎的居然是.....
查看>>
全景图解高铁数据,谁是最有潜力的高铁城市?
查看>>
张小龙现场“约战”跳一跳,发布2018微信全新计划(内附演讲全文)
查看>>
爬取电影天堂的最新电影
查看>>
运维总监不会告诉你这些有趣但鲜为人知的 Linux 命令
查看>>
2017新浪微整形年度大数据报告
查看>>
实战 | 用 Python 选股票,据说可以多挣个20%
查看>>
重磅 | 数据挖掘之父韩家炜:文本语料库的数据挖掘(附视频+PPT下载)
查看>>