Tony Bai · Go 语言第一课
大师带路,快速上手 Go 语言
Tony Bai  资深架构师,tonybai.com 博主
专栏
已完结·共 59 讲
|
2.2w 人已学
|
收藏
Go 语言规定,*T 类型的方法集合包含所有以 *T 为 receiver 参数类型的方法,以及所有以 T 为 receiver 参数类型的方法
来自:25|方法:方法集合与如何选择receiver类型?
16 人划过
不过,go get 下载的包只是那个时刻各个依赖包的最新主线版本,这样会给后续 Go 程序的构建带来一些问题。比如,依赖包持续演进,可能会导致不同开发者在不同时间获取和编译同一个 Go 包时,得到不同的结果,也就是不能保证可重现的构建(Reproduceable Build)。又比如,如果依赖包引入了不兼容代码,程序将无法通过编译。
来自:06|构建模式:Go是怎么解决包依赖管理问题的?
11 人划过
Go 语言中,函数参数传递采用是值传递的方式。所谓“值传递”,就是将实际参数在内存中的表示逐位拷贝(Bitwise Copy)到形式参数中。对于像整型、数组、结构体这类类型,它们的内存表示就是它们自身的数据内容,因此当这些类型作为实参类型时,值传递拷贝的就是它们自身,传递的开销也与它们自身的大小成正比。
来自:21|函数:请叫我“一等公民”
11 人划过
依赖包按“深度优先”的次序进行初始化;
来自:08|入口函数与包初始化:搞清Go程序的执行次序
10 人划过
receiver 参数的基类型本身不能为指针类型或接口类型
来自:24|方法:理解“方法”的本质
10 人划过
endor 机制与目录的引入,让 Go 项目第一次具有了可重现构建(Reproducible Build)的能力
来自:05|标准先行:Go项目的布局标准是什么?
6 人划过
它是一个类型。它可以将一个满足特定函数签名的普通函数,显式转换成自身类型的实例,转换后的实例同时也是某个接口类型的实现者。
来自:30|接口:Go中最强大的魔法
5 人划过
利用类型定义语法与类型别名语法创建自定义数值类型。通过类型定义语法实现的自定义数值类型虽然在数值性质上与原类型是一致的,但它们却是完全不同的类型,不能相互赋值,比如通过显式转型才能避免编译错误。而通过类型别名创建的新类型则等价于原类型,可以互相替代。
来自:12|基本数据类型:Go原生支持的数值类型有哪些?
5 人划过
channel 自身的性能与低级同步原语相比要略微逊色,开销要更大
来自:34|并发:如何使用共享变量?
5 人划过
errors.Is 方法会沿着该包装错误所在错误链(Error Chain),与链上所有被包装的错误(Wrapped Error)进行比较,直至找到一个匹配的错误为止
来自:22|函数:怎么结合多返回值进行错误处理?
3 人划过
*精彩内容为该课程各文章中划线次数最多的内容
免费试读
讲师

Tony Bai

资深架构师,tonybai.com 博主

Tony Bai(白明),资深架构师、tonybai.com 博主,是 Gopher 部落技术社群发起人,现在在东软睿驰云平台及智能计算中心担任系统架构组技术负责人。 Tony Bai 老师一直在电信领域从事高并发、高性能、大容量的网关类平台服务端的开发,这两年进入了智能网联汽车...查看更多
编辑推荐
包含这门课的学习路径

Go工程师

16门课程 89.9w人学习
看过的人还看了
MySQL 实战 45 讲
林晓斌
网名丁奇,前腾讯云数据库负责人

49讲 | 224959 人已学习

¥68¥199
数据结构与算法之美
王争
前 Google 工程师

81讲 | 283828 人已学习

¥68¥199
Go 语言项目开发实战
孔令飞
腾讯云专家工程师,前 Red Hat、联想云工程师

61讲 | 41047 人已学习

¥68¥199
左耳听风
陈皓
网名“左耳朵耗子”,资深技术专家

119讲 | 181020 人已学习

¥98¥399
深入剖析 Kubernetes
张磊
Kubernetes 社区资深成员与项目维护者

57讲 | 116789 人已学习

¥68¥199
Redis 核心技术与实战
蒋德钧
中科院计算所副研究员

53讲 | 81767 人已学习

¥68¥199