前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >golang type struct 只写成员类型的 匿名字段。

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

作者头像
xiny120
发布于 2019-06-11 03:13:23
发布于 2019-06-11 03:13:23
7140
举报
文章被收录于专栏:毛毛v5毛毛v5

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

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真是大写的服啊。不过省了不少事啊。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.03.21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
手把手带你从0搭建一个Golang ORM框架(上)!
导语 | 当我深入的学习和了解了GORM、XORM后,我觉得它们不够简洁和优雅,有些笨重,有很大的学习成本。本着学习和探索的目的,于是我自己实现了一个简单且优雅的go语言版本的ORM。本文主要从基础原理开始介绍,到一步一步步骤实现,继而完成整个简单且优雅的MySQL ORM。 一、前置学习 (一)为什么要用ORM 我们在使用各种语言去做需求的时候,不管是PHP,Golang还是C++等语言,应该都接触使用过用ORM去链接数据库,这些ORM有些是项目组自己整合实现的,也有些是用的开源的组件。特别在1个
腾讯云开发者
2021/12/28
7550
使用反射和泛型简化Golang查询数据库代码的方案
Postgresql有个很好的功能:可以设置字段为数组。这样我们就不用存储使用特定字符连接的数据,更不需要在取出数据后使用代码逻辑进行切分。举一个例子,我们需要存储一个数组[1,2,3,4]。常规做法是我们将该字段设计为字符串或者文本类型,存储“1,2,3,4”;在业务逻辑中,数据取出后,我们使用“,”进行切分,并将字符串“1”“2”“3”转换为整型,最后组成数组[1,2,3,4]。 为了更好表述这个问题,我们看个Demo。
方亮
2023/02/02
1.2K0
使用反射和泛型简化Golang查询数据库代码的方案
手把手带你从0搭建一个Golang ORM框架(全)!
导语 | 当我深入的学习和了解了GORM、XORM后,我觉得它们不够简洁和优雅,有些笨重,有很大的学习成本。本着学习和探索的目的,于是我自己实现了一个简单且优雅的go语言版本的ORM。本文主要从基础原理开始介绍,到一步一步步骤实现,继而完成整个简单且优雅的MySQL ORM。 一、前置学习 (一)为什么要用ORM 我们在使用各种语言去做需求的时候,不管是PHP,Golang还是C++等语言,应该都接触使用过用ORM去链接数据库,这些ORM有些是项目组自己整合实现的,也有些是用的开源的组件。特别在1个
腾讯云开发者
2021/12/30
1.4K0
注入学习1:SQL注入语句大全
之前做了xss预防,以及些许的注入预防了,但是不够全面,如果还是搜集了下一些常用的注入手段,以此用来进行更好的预防.
@坤的
2018/09/21
4.6K0
【Go语言刷题篇】Go完结篇|函数、结构体、接口、错误入门学习
- 本期是学习Golang的完结篇:函数、结构体、接口、错误入门学习,有不懂的地方可以评论进行讨论!
程序员洲洲
2024/06/07
910
mysql基础
以前我们做系统,数据持久化的存储采用的是文件存储。存储到文件中可以达到系统关闭数据不会丢失的效果,当然文件存储也有它的弊端。
777nx
2023/05/02
8890
mysql基础
南邮CG-CTF
题目感觉质量很高 也很有趣哈 只写了部分web题目 pwn crypto不涉及 不要问我为什么 厂长是我表哥
用户2700375
2022/06/09
6120
南邮CG-CTF
数据库中存储日期的字段类型到底应该用varchar还是datetime ?
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/38777167
DannyHoo
2018/09/13
3.9K0
数据库中存储日期的字段类型到底应该用varchar还是datetime ?
MySql数据库大表添加字段的方法
但是,线上的一张表如果数据量很大,执行加字段操作就会锁表,这个过程可能需要很长时间甚至导致服务崩溃,那么这样操作就有风险。
码客说
2019/10/21
25.7K0
SQL语句大全大全(经典珍藏版)
大家好,又见面了,我是你们的朋友全栈君。 SQL语句大全 –语 句 功 能 –数据操作 SELECT –从 数据库 表中检索数据行和列 INSERT –向数据库表添加新数据行 DELETE –从数据库表中删除数据行 UPDATE –更新数据库表中的数据 -数据定义 CREATE TABLE –创建一个数据库表 DROP TABLE –从数据库中删除表 ALTER TABLE –修改数据库表结构 CREATE VIEW –创建一个视图 DROP VIEW –从数据库中删除视图 CREATE INDEX –为数据库表创建一个索引 DROP INDEX –从数据库中删除索引 CREATE PROCEDURE –创建一个存储过程 DROP PROCEDURE –从数据库中删除存储过程 CREATE TRIGGER –创建一个触发器 DROP TRIGGER –从数据库中删除触发器 CREATE SCHEMA –向数据库添加一个新模式 DROP SCHEMA –从数据库中删除一个模式 CREATE DOMAIN –创建一个数据值域 ALTER DOMAIN –改变域定义 DROP DOMAIN –从数据库中删除一个域 –数据控制 GRANT –授予用户访问权限 DENY –拒绝用户访问 REVOKE –解除用户访问权限 –事务控制 COMMIT –结束当前事务 ROLLBACK –中止当前事务 SET TRANSACTION –定义当前事务数据访问特征 –程序化SQL DECLARE –为查询设定游标 EXPLAN –为查询描述数据访问计划 OPEN –检索查询结果打开一个游标 http://hi.baidu.com/ttcc2009 FETCH –检索一行查询结果 CLOSE –关闭游标 PREPARE –为动态执行准备SQL 语句 EXECUTE –动态地执行SQL 语句 DESCRIBE –描述准备好的查询 —局部变量 declare @id char(10) –set @id = ‘10010001’ select @id = ‘10010001’ —全局变量 —必须以@@开头 –IF ELSE declare @x int @y int @z int select @x = 1 @y = 2 @z=3 if @x > @y print ‘x > y’ –打印字符串’x > y’ else if @y > @z print ‘y > z’ else print ‘z > y’ –CASE use pangu update employee set e_wage = case when job_level = ‟1‟ then e_wage*1.08 when job_level = ‟2‟ then e_wage*1.07 when job_level = ‟3‟ then e_wage*1.06 else e_wage*1.05 end –WHILE CONTINUE BREAK declare @x int @y int @c int select @x = 1 @y=1 http://hi.baidu.com/ttcc2009 while @x < 3 begin print @x –打印变量x 的值 while @y < 3 begin select @c = 100*@x + @y print @c –打印变量c 的值 select @y = @y + 1 end select @x = @x + 1 select @y = 1 end –WAITFOR –例 等待1 小时2 分零3 秒后才执行SELECT 语句 waitfor delay ‟01:02:03‟ select * from employee –例 等到晚上11 点零8 分后才执行SELECT 语句 waitfor time ‟23:08:00‟ select * from employee ***SELECT*** select *(列名) from table_name(表名) where column_name operator value ex:(宿主) select * from stock_information where stockid = str(nid) stockname = ‘str_name’ stockname like ‘% find this %’ stockname like ‘[a-zA-Z]%’ ——— ([]指定值的范围) stockname like ‘[^F-M]%’ ——— (^排除指定范围) ——— 只能在使用like关键字的where子句中使用通配符) or stockpath = ‘stock_path’ or stocknumber < 1000 and stocki
全栈程序员站长
2022/08/31
1.4K0
一文学会 Go 的三个主流开发框架| 青训营笔记
本文介绍了三个 Go 主流开发框架 GORM,Kitex,Hertz 的基本使用方法,覆盖了 ORM,RPC,HTTP 三个领域。帮助读者快速入门 Go 工程开发。
HikariLan贺兰星辰
2023/03/06
2.8K0
Golang 基础:Go Module, for range, 切片, map, struct 等使用和实现
https://time.geekbang.org/column/article/428267
张拭心 shixinzhang
2022/05/10
1.2K0
Golang 基础:Go Module, for range, 切片, map, struct 等使用和实现
Go 回答之如何阅读 Go 源码
Go 的源码在安装包的 src/ 目录下。怎么看它的源码呢?直接看吧!没人教的情况下,只能自己撸了。当然,这种内容一般也不会有人教。
波罗学
2019/08/29
2.4K0
Go 回答之如何阅读 Go 源码
Go 编码规范建议
各个公司或组织,都有各自不同的 Go 编码规范,但大同小异。规范是一种倡导,不遵守并不代表错误,但当大家都遵守规范时,你会发现,整个世界将变得整洁有序。
恋喵大鲤鱼
2021/12/06
1.5K0
Java--JDBC连接数据库
Single
2018/01/04
1.8K0
Java--JDBC连接数据库
Go 编码建议
各个公司或组织,都有各自不同的 Go 编码规范,但大同小异。规范是一种倡导,不遵守并不代表错误,但当大家都遵守规范时,你会发现,整个世界将变得整洁有序。
恋喵大鲤鱼
2022/01/10
8260
go语言基础语法入门
首先字节跳动已经全面拥抱了 go 语言,公司内部有上万个微服务使用 golang 来编写,不久前也开源了 GORPC 框架 KiteX。腾讯、百度、美团、滴滴、深信服、平安、OPPO、知乎、去哪儿、360、金山、微博、bilibili、七牛、PingCAP 等公司也在大量使用 Go 语言。 国外 Google Facebook 等公司也在大量使用 Go 语言。 从业务维度看过语言已经在云计算、微服务、大数据、区块链、物联网等领域蓬勃发展。然后在云计算、微服务等领域已经有非常高的市场占有率 Docker、Kubernetes、Istio、etcd、prometheus 几乎所有的云原生组件全是用 Go 实现的。
timerring
2023/10/13
1970
MySQL入门常用命令大全
SQL(Structured Query Language)是结构化查询语言,也是一种高级的非过程化编程语言。SQL语句可用于增删查改数据以及管理关系型数据库,并不局限于数据查询。
恋喵大鲤鱼
2018/08/03
3.9K0
MySQL入门常用命令大全
MySQL总结
2.alter table t1 modify name char(3); 修改类型
changxin7
2019/09/12
1.9K0
MySQL总结
MySQL基础SQL编程学习1
什么是 SQL语言? 答:SQL指结构化查询语言,全称是 Structured Query Language,是一种 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言。它是用于访问和处理数据库的标准的计算机语言。
全栈工程师修炼指南
2022/09/29
4.7K0
MySQL基础SQL编程学习1
相关推荐
手把手带你从0搭建一个Golang ORM框架(上)!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文