Golang基础知识(十一.struct结构体).pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Golang基础知识(⼗⼀.struct结构体) struct 结构体 注意:根据内存对齐原则,结构体⾥⾯的数据类型,应根据类型所占的⼤⼩,依次排序,从⼩到⼤,越⼩越⼩前,主要是优化内存读取速 度。(取值是有⼀个”框“的(32 :4,64,:8),根据框取值时候是⼀块⼀块的取,超出框的部分,取两次,并删除多余的部分再和前⾯ 取得数据合并,操作变多了,消耗就多) 1 type Part1 struct { 2 a bool 3 b int32 4 c int8 5 d int64 6 e byte 7 } 8 9 type Part2 struct { 10 e byte 11 c int8 12 a bool 13 b int32 14 d int64 15 } 16 17 func main() { 18 part1 := Part1{} 19 part2 := Part2{} 20 21 fmt.Printf(part1 size: %d, align: %d\n, unsafe.Sizeof(part1), unsafe.Alignof(part1)) 22 fmt.Printf(part2 size: %d, align: %d\n, unsafe.Sizeof(part2), unsafe.Alignof(part2)) 23 } 输出结果: 1 part1 size: 32, align: 8 2 part2 size: 16, align: 8 1.定义 Go语⾔中的基础数据类型可以表⽰⼀些事物的基本属性,但是当我们想表达⼀个事物的全部或部分属性时,这时候再⽤单⼀的基本数据类 型明显就⽆法满⾜需求了,Go语⾔提供了⼀种⾃定义数据类型,可以封装多个基本数据类型,这种数据类型叫结构体,英⽂名称 。 struct 也就是我们可以通过 struct 来定义⾃⼰的类型了。 Go语⾔中通过 struct 来实现⾯向对象。 注意: 类型名:标识⾃定义结构体的名称,在同⼀个包内不能重复。 字段名:表⽰结构体字段名。结构体中的字段名必须唯⼀。 字段类型:表⽰结构体字段的具体类型。 使⽤ type 和 struct 关键字来定义结构体,具体代码格式如下 : 1 type 类型名 struct { 2 字段名 字段类型 3 字段名 字段类型 4 … 5 } 举个例⼦: 1 type person struct { 2 name string 3 city string 4 age int8 5 } 6 7 func main() { 8 var p1 person 9 p1 .name = 张三 10 p1 .city = 北京 11 p1 .age = 18 12 张三 北京 fmt.Printf(p1=%v\n, p1) //p1={ 18} 13 张三 北京 fmt.Printf(p1=%#v\n, p1) //p1=main.person{name: , city: , age:18} 14 } 2.匿名结构体

文档评论(0)

152****1430 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档