匿名字段不过是⼀一种语法糖,从根本上说,就是⼀一个与成员类型同名 (不含包名) 的字段。
被匿名嵌⼊入的可以是任何类型,当然也包括指针。

type User struct {
name string
}
type Manager struct {
User
title string
}m := Manager{
User: User{"Tom"}, // 匿名字段的显式字段名,和类型名相同。
title: "Administrator",
}

可以像普通字段那样访问匿名字段成员,编译器从外向内逐级查找所有层次的匿名字段,
直到发现⺫⽬目标或出错。

type Resource struct {
id int
}
type User struct {
Resource
name string
}
type Manager struct {
User
title string
}
var m Manager
m.id = 1
m.name = "Jack"
m.title = "Administrator"

外层同名字段会遮蔽嵌⼊入字段成员,相同层次的同名字段也会让编译器⽆无所适从。解决⽅方
法是使⽤用显式字段名。

type Resource struct {
id int
name string
}
type Classify struct {
id int
}
type User struct {
Resource // Resource.id 与 Classify.id 处于同⼀一层次。
Classify
name string // 遮蔽 Resource.name。
}
u := User{Resource{1, "people"},
Classify{100},
"Jack",
}
println(u.name) // User.name: Jack
println(u.Resource.name) // people
// println(u.id) // Error: ambiguous selector u.id
println(u.Classify.id) // 100

不能同时嵌⼊入某⼀一类型和其指针类型,因为它们名字相同。

type Resource struct {
id int
}
type User struct {
*Resource
// Resource // Error: duplicate field Resource
name string
}
u := User{
&Resource{1},
"Administrator",
}
println(u.id)
println(u.Resource.id)

尹成老师

QQ77025077

微信18510341407

所有视频在尹成学院

www.yinchengxueyuan.com

尹成百度云请联系QQ475318423

兄弟连go教程(19)数据 - 匿名字段相关推荐

  1. 视频教程-全新大数据企业电商数据仓库项目实战教程-大数据

    全新大数据企业电商数据仓库项目实战教程 张长志技术全才.擅长领域:区块链.大数据.Java等.10余年软件研发及企业培训经验,曾为多家大型企业提供企业内训如中石化,中国联通,中国移动等知名企业.拥有丰 ...

  2. STM32 进阶教程 19 - IQmath数学库的使用

    前言 STM32 M3 系列是不带浮点运算单元的,小数运算都是采用定点转浮点试式实现的,本节给大家介绍一个很好用的定点转浮点数学运算库,IQmath是德州仪器 (TI) 的一个高度优化的高精度数学函数 ...

  3. Django 3.2.5博客开发教程:体验数据查询

    进行数据查询之前,我们需要先进入我们的管理后台,在里面添加一些数据.然后我们用Pycharm打开我们的数据库.具体操作方法:用Pycharm可视化操作数据库 我们的数据结构长这般模样: 双击blog_ ...

  4. java web 请求跟踪_IT兄弟连 JavaWeb教程 Servlet会话跟踪 Cookie技术

    原标题:IT兄弟连 JavaWeb教程 Servlet会话跟踪 Cookie技术 Cookie使用HTTPHeader传递数据.Cookie机制定义了两种报头,Set-Cookie报头和Cookie报 ...

  5. 知识备忘phpcms 简单解析一 数据表字段

    PHPCMS V9帮助中心 数据结构 phpcms v9 数据... phpcms v9 数据... PHPSSO 数据库结... phpcms v9 数据表结构 在线版 PHPCMS V9 数据结构 ...

  6. 视频教程-新版全面系统完整的电信客服综合案例教程-大数据

    新版全面系统完整的电信客服综合案例教程 张长志技术全才.擅长领域:区块链.大数据.Java等.10余年软件研发及企业培训经验,曾为多家大型企业提供企业内训如中石化,中国联通,中国移动等知名企业.拥有丰 ...

  7. 兄弟连html5在线画板,IT兄弟连 HTML5教程 HTML5做到了与之前版本的兼容

    原标题:IT兄弟连 HTML5教程 HTML5做到了与之前版本的兼容 为了保证HTML5能与之前的HTML版本达到最大的兼容,HTML5对一些元素标记的省略.boolean值的属性,以及引号的省略这几 ...

  8. Silverlight实例教程 - Validation数据验证开篇

    Silverlight 4 Validation验证实例系列 Silverlight实例教程 - Validation数据验证开篇 Silverlight实例教程 - Validation数据验证基础 ...

  9. Xamarin Essentials教程实现数据的传输功能实例

    Xamarin Essentials教程实现数据的传输功能实例 [示例1-1]以下将实现数据的传输功能.代码如下: public async Task ShareUri(string text, st ...

最新文章

  1. runtime 分类结构体_水性木器涂料的5大分类+4大配方事项
  2. Zookeeper知识汇总
  3. Java入门(一):Hello World !
  4. servlet——登录练习(登录页面登录请求登录请求处理)
  5. 你知道嵌入式,那你看过这个吗?
  6. 【kafka】Kafka Connect中的增量协同平衡
  7. ctrl z推出查看文本怎么结束_最实用的10个电脑常用快捷键!Ctrl+Z的鬼才反向了解一下!...
  8. github速成手册
  9. 【1024送书】21届校招薪资提前爆料!大厂全部上涨!美团时薪或成最香!
  10. 4.3.2深度定时任务(TimerTask in Depth)
  11. 即插即用 | 超越CBAM,全新注意力机制,GAM不计成本提高精度(附Pytorch实现)...
  12. 解决 找不到方法:“Void System.Web.UI.HtmlControls.HtmlForm.set_Action(System.String)”。
  13. PHP将图片剪切成圆形
  14. 微前端是什么、价值、不足、典型模式
  15. 攻防世界 转轮机加密
  16. 他励直流电动机的调速
  17. Digital Square HDU - 4394 dfs + 剪枝
  18. CRM和ERP的区别与联系
  19. 使用selenium模拟动态登录QQ邮箱爬取收件箱内容放在CSV文件中
  20. 推荐16个免费开源的商业智能工具

热门文章

  1. OpenGL ply
  2. 查看各类系统端口占用情况
  3. 研究生数学建模竞赛-无人机在抢险救灾中的优化应用
  4. mysql cts_mysql 时区问题
  5. 人生算法第一天心得总结(A)九段进阶(3-6)
  6. KKT条件的物理意义(转)
  7. 如何用adobe audition剪切音频单独导出保存
  8. 阅读笔记_一本书读懂财报
  9. 卑微打工人!java打地鼠窗口小游戏代码
  10. 2018通达信l2服务器源码,分享通达信(L2) 主力资金线/主力资金流向 源码