游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

golang2021面向对象(26)Go语言类型内嵌和结构体

  结构体可以包含一个或多个匿名(或内嵌)字段,即这些字段没有显式的名字,只有字段的类型是必须的,此时类型也就是字段的名字。匿名字段本身可以是一个结构体类型,即结构体可以包含内嵌结构体。
  可以粗略地将这个和面向对象语言中的继承概念相比较,随后将会看到它被用来模拟类似继承的行为。Go语言中的继承是通过内嵌或组合来实现的,所以可以说,在Go语言中,相比较于继承,组合更受青睐。
  考虑如下的程序:
  packagemain
  importfmt
  typeinnerSstruct{
  in1int
  in2int
  }
  typeouterSstruct{
  bint
  cfloat32
  intanonymousfield
  innerSanonymousfield
  }
  funcmain(){
  outer:new(outerS)
  outer。b6
  outer。c7。5
  outer。int60
  outer。in15
  outer。in210
  fmt。Printf(outer。bis:d,outer。b)
  fmt。Printf(outer。cis:f,outer。c)
  fmt。Printf(outer。intis:d,outer。int)
  fmt。Printf(outer。in1is:d,outer。in1)
  fmt。Printf(outer。in2is:d,outer。in2)
  使用结构体字面量
  outer2:outerS{6,7。5,60,innerS{5,10}}
  fmt。Printf(outer2is:,outer2)
  }
  运行结果如下所示:
  outer。bis:6
  outer。cis:7。500000
  outer。intis:60
  outer。in1is:5
  outer。in2is:10
  outer2is:{67。560{510}}
  通过类型outer。int的名字来获取存储在匿名字段中的数据,于是可以得出一个结论:在一个结构体中对于每一种数据类型只能有一个匿名字段。
  内嵌结构体
  同样地结构体也是一种数据类型,所以它也可以作为一个匿名字段来使用,如同上面例子中那样。外层结构体通过outer。in1直接进入内层结构体的字段,内嵌结构体甚至可以来自其他包。内层结构体被简单的插入或者内嵌进外层结构体。这个简单的继承机制提供了一种方式,使得可以从另外一个或一些类型继承部分或全部实现。
  示例代码如下所示:
  packagemain
  importfmt
  typeAstruct{
  ax,ayint
  }
  typeBstruct{
  A
  bx,byfloat32
  }
  funcmain(){
  b:B{A{1,2},3。0,4。0}
  fmt。Println(b。ax,b。ay,b。bx,b。by)
  fmt。Println(b。A)
  }
  输出:
  1234
  {12}
  结构内嵌特性
  Go语言的结构体内嵌有如下特性。
  1)内嵌的结构体可以直接访问其成员变量
  嵌入结构体的成员,可以通过外部结构体的实例直接访问。如果结构体有多层嵌入结构体,结构体实例访问任意一级的嵌入结构体成员时都只用给出字段名,而无须像传统结构体字段一样,通过一层层的结构体字段访问到最终的字段。例如,ins。a。b。c的访问可以简化为ins。c。
  2)内嵌结构体的字段名是它的类型名
  内嵌结构体字段仍然可以使用详细的字段进行一层层访问,内嵌结构体的字段名就是它的类型名,代码如下:
  varcColor
  c。BasicColor。R1
  c。BasicColor。G1
  c。BasicColor。B0
  一个结构体只能嵌入一个同类型的成员,无须担心结构体重名和错误赋值的情况,编译器在发现可能的赋值歧义时会报错。

未来十年,对话式计算环境计算和云PC会把世界变成什么样?新冠肺炎疫情已对IT行业的变革速度产生了深远的影响。现在我们比以往任何时候都更流行远程连接。视频会议迎来了真正的机会,终于可以实现它一直承诺的事情:消除大多数商务旅行,包括早上……舞台灯光值得关注的三个发展趋势阜新声艺视听把握舞台灯光发展新趋势,是舞台灯光师的必修课之一。只有正确精准地把握发展新趋势,才能把舞台灯光做得更好、更尽如人意。那么,舞台灯光发展新趋势又具有哪些必要的内容呢?依笔者……NANK南卡T2真无线蓝牙耳机体验动圈动铁齐开花自2019年6月南卡耳机发布全新TWS蓝牙5。0耳机Nank南卡N2以后,作为上市的旗舰真无线蓝牙耳机,吸引了不少国内外媒体的关注,并且荣登众多数码媒体的热门榜单,同时在202……硅胶娃娃3000元起,娃界小米要成今年双11的爆款收割机?文姚华2021年双11即将到来,面对全年影响力最大的购物节,消费者在磨刀霍霍持币待购,而品牌商对其的态度不再局限于打折促销清库存,而是视作品牌影响力和行业地位打造的关键机……涉嫌抄袭的央美教授与米菲官方达成和解争议作品永不再用昨日,有关央美教授涉嫌抄袭的事件有了最新进展:涉事双方经过友好的协商达成和解,争议作品将交给米菲版权方,永久停止在未来的展览及商业活动中使用。1月15日,有网友发布一则微……英集芯,推出了一款电源管理芯片IP2368以电动机或电磁铁为动力,通过传动机构驱动工作头的一种机械化工具称为电动工具,它是用手握持操作,以小功率电动机或电磁铁作为动力,通过传动机构来驱动作业工作头的工具,无线电动都附带……高管调整,阿里电商承受着怎样的压力?阿里电商业务牵一发而动全身,总负责人蒋凡看似不动,但职权变化引发截然不同解读,背后到底蕴藏着怎样的深意?本文由无冕财经(wumiancaijing)原创首发作者:海……运输保鲜就选冷链物流近日,农业农村部印发《十四五全国农产品仓储保鲜冷链物流建设规划》,积极推进农产品仓储保鲜冷链物流设施建设,提升农产品产地低温储运能力。冷链物流一般指冷藏冷冻类食品在生产、……无油低脂花样多,有了米家空气炸锅,瞬间变身美食家作为一名吃货,我对油炸食品情有独钟,炸鸡、鸡米花、炸薯条这些美食几乎隔几天就必须要吃一顿。不过我吃油炸食品的时候还是充满了负罪感的,因为吃多了会发胖,而且吃太多油会对身体造成不……在人间丨一元抗癌厨房还能陪病人撑多久?大家好,我是老李。在江西南昌有这样一个厨房,它与肿瘤医院一墙之隔,这个厨房被称之为抗癌厨房,在这个厨房里做饭的都是肿瘤医院的病人和病人家属。他们互不认识,但都共同追求着家……东京TGS2019游戏展最小玩家,日本小学生霸占国产GPD游这次东京TGS2019游戏展,GPD展台来了一批年龄特别小的体验玩家,他们有的身高不够展台的高度,却对这台来自中国的,可以玩各种游戏的Win10游戏掌机产生了极大的兴趣。……2021年中国碳中和行业研究报告碳中和丨研究报告前言:复活节岛位于南太平洋东部,向东距离智利大陆本土约3600公里,荷兰航海家罗赫芬于1722年4月5日复活节发现并登上该岛,该岛因此而得名。复活节……
苹果发布的M1处理器和英特尔对比有哪些优点和不足?2020年11月11日,苹果发布了全新Mac产品线,包括MacBookAir、13英寸MacBookPro以及Macmini,三款新品全部搭载了苹果自研的M1处理器。苹果……如何在MacBook上查找序列号?所有苹果产品(包括Mac)都具有序列号,该序列号本质上是在多种情况下使用的唯一标识符:例如,当您要在Mac上进行贸易或根据Apple的保修协议进行维修时,或检查您的Mac是否是……2020年远程办公云办公企业综合排行榜,鹏博士排名第18云生活、云经济、云办公,随着移动互联网时代的深入发展,云技术正快速地渗透进我们的日常生活。2020年以来,社会生产的各个部门也加速了云化的进程。云办公普及率大大提升,曾经起协助……小鹏首次开放工厂,老车主说这是信心背书,更是智能标签出品:电动星球News作者:蟹老板、毓肥这是信心和背书,也刷新了我对智能驱动理念的认知,小鹏就是一家追求极致产品力的企业,而这正是我想要的。直播完后,大包子狸……可拆卸电池回归GalaxyA01Core通过认证,定位低端三星即将推出的配备可拆卸电池的廉价手机已通过蓝牙认证,认证展示了这款设备的一个有趣的细节:名称。到目前为止,三星的神秘廉价手机仅已知型号为SMA013F,因此认为这款设备将以G……和谁相处舒服,就和谁在一起乍见之欢,不如久处不厌。人到世上走一遭,总会遇到一些喜欢的人和不喜欢的人。有些人,和他相处得很累,就不要继续相处了,和谁在一起舒服,就和谁在一起!你一定有过这样的体……华为MatePad10。8高清图赏,华为给大学生的一份特别礼工作、学习和生活均进入更高效的移动时代,全场景互联也成为时代趋势。借助一台科技装备提高自己学习、工作的效率,成为很多大学生以及职场人士选择。面对大家的这一需求,华为近日推出了一……南卡N2既是无线耳机也是移动电源产品序:说起无线蓝牙耳机代表者还是Airpods这样的明星产品。博主前段时间收到了深圳一家公司的无线耳机南卡N2!一款集成移动电源和无线耳机的优秀产品,今天就为大家评测一……技巧手机内存空间告急,这些办法就能轻松搞定人吃多了体型会膨胀,但对内存有限的手机来说,存储太多的照片视频和应用,手机可吃不消。虽然减肥对大家来说是难事,但清理内存让手机瘦身下来,小宁……上海有人拿到了第一块新式车牌?警方编造谣言,已被行拘我是上海第一个拿到新式车牌的人这句话是由9月26号里社交平台上一名上海男子发布,随后经过了大量的转发,引起了网友广泛关注。可能这名男子不太接受现在的车牌款式,迫不及待地想……HarmonyOSlinkboy小熊派,能擦出怎样的火花?linkboy简介linkboy是一门面向物联网、边缘计算、工业控制等领域的自研编程语言。linkboy官网地址:http:www。linkboy。ccindex。……TeledyneImaging的新款2k和4k线扫描相机采用TeledyneImaging的新款2k和4k线扫描相机采用紧凑型封装,性能领先业界全新LineaLite系列线扫描相机比以往更易理解和使用加拿大滑铁卢,May25……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网