golang type struct 只写成员类型的 匿名字段。

毛毛v5 · · 2672 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

今天看代码,看到个奇怪的代码:

type Mssql struct

{

    *sql.DB

    dataSource string

    database string

    windows bool

    sa SA

}

这真是蛋疼了。*sql.DB是什么鬼啊?为什么只有类型没有字段名啊?看来没有系统看过golang语法真是够呛。发个QQ在群里面问golang达人,趁着别人还没回复的功夫,自己想百度一下,可是这怎么百度啊?怎么描述这个问题啊?奇葩啊。后来没办法直接百度了关键字 golang type struct ...翻了几页结果,还真翻到了。原来struct中只写一个类型不写字段名定义的字段叫做匿名字段。为啥不用名字呢?因为golang把这个类型的所有成员到装到了当前struct中。直接当前struct.XXX就能访问这个类型的子成员了。公然偷懒偷到这种程度了,我对golang真是大写的服啊。不过省了不少事啊。


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:毛毛v5

查看原文:golang type struct 只写成员类型的 匿名字段。

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2672 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传