兄弟连go教程(19)数据 - 匿名字段
匿名字段不过是⼀一种语法糖,从根本上说,就是⼀一个与成员类型同名 (不含包名) 的字段。
被匿名嵌⼊入的可以是任何类型,当然也包括指针。
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)数据 - 匿名字段相关推荐
- 视频教程-全新大数据企业电商数据仓库项目实战教程-大数据
全新大数据企业电商数据仓库项目实战教程 张长志技术全才.擅长领域:区块链.大数据.Java等.10余年软件研发及企业培训经验,曾为多家大型企业提供企业内训如中石化,中国联通,中国移动等知名企业.拥有丰 ...
- STM32 进阶教程 19 - IQmath数学库的使用
前言 STM32 M3 系列是不带浮点运算单元的,小数运算都是采用定点转浮点试式实现的,本节给大家介绍一个很好用的定点转浮点数学运算库,IQmath是德州仪器 (TI) 的一个高度优化的高精度数学函数 ...
- Django 3.2.5博客开发教程:体验数据查询
进行数据查询之前,我们需要先进入我们的管理后台,在里面添加一些数据.然后我们用Pycharm打开我们的数据库.具体操作方法:用Pycharm可视化操作数据库 我们的数据结构长这般模样: 双击blog_ ...
- java web 请求跟踪_IT兄弟连 JavaWeb教程 Servlet会话跟踪 Cookie技术
原标题:IT兄弟连 JavaWeb教程 Servlet会话跟踪 Cookie技术 Cookie使用HTTPHeader传递数据.Cookie机制定义了两种报头,Set-Cookie报头和Cookie报 ...
- 知识备忘phpcms 简单解析一 数据表字段
PHPCMS V9帮助中心 数据结构 phpcms v9 数据... phpcms v9 数据... PHPSSO 数据库结... phpcms v9 数据表结构 在线版 PHPCMS V9 数据结构 ...
- 视频教程-新版全面系统完整的电信客服综合案例教程-大数据
新版全面系统完整的电信客服综合案例教程 张长志技术全才.擅长领域:区块链.大数据.Java等.10余年软件研发及企业培训经验,曾为多家大型企业提供企业内训如中石化,中国联通,中国移动等知名企业.拥有丰 ...
- 兄弟连html5在线画板,IT兄弟连 HTML5教程 HTML5做到了与之前版本的兼容
原标题:IT兄弟连 HTML5教程 HTML5做到了与之前版本的兼容 为了保证HTML5能与之前的HTML版本达到最大的兼容,HTML5对一些元素标记的省略.boolean值的属性,以及引号的省略这几 ...
- Silverlight实例教程 - Validation数据验证开篇
Silverlight 4 Validation验证实例系列 Silverlight实例教程 - Validation数据验证开篇 Silverlight实例教程 - Validation数据验证基础 ...
- Xamarin Essentials教程实现数据的传输功能实例
Xamarin Essentials教程实现数据的传输功能实例 [示例1-1]以下将实现数据的传输功能.代码如下: public async Task ShareUri(string text, st ...
最新文章
- runtime 分类结构体_水性木器涂料的5大分类+4大配方事项
- Zookeeper知识汇总
- Java入门(一):Hello World !
- servlet——登录练习(登录页面登录请求登录请求处理)
- 你知道嵌入式,那你看过这个吗?
- 【kafka】Kafka Connect中的增量协同平衡
- ctrl z推出查看文本怎么结束_最实用的10个电脑常用快捷键!Ctrl+Z的鬼才反向了解一下!...
- github速成手册
- 【1024送书】21届校招薪资提前爆料!大厂全部上涨!美团时薪或成最香!
- 4.3.2深度定时任务(TimerTask in Depth)
- 即插即用 | 超越CBAM,全新注意力机制,GAM不计成本提高精度(附Pytorch实现)...
- 解决 找不到方法:“Void System.Web.UI.HtmlControls.HtmlForm.set_Action(System.String)”。
- PHP将图片剪切成圆形
- 微前端是什么、价值、不足、典型模式
- 攻防世界 转轮机加密
- 他励直流电动机的调速
- Digital Square HDU - 4394 dfs + 剪枝
- CRM和ERP的区别与联系
- 使用selenium模拟动态登录QQ邮箱爬取收件箱内容放在CSV文件中
- 推荐16个免费开源的商业智能工具