专栏亮点

  • 79 章节内容解析 Go 语言基础知识点;
  • 使用反汇编、编程范式推导 Go 核心原理;
  • 从架构思想层面解析 Go 语言每个细节;
  • 与 C 语言对比学习 Go 基础核心;
  • 从 Go 语言背景知识到灵活使用,知其然知其所以然。

专栏介绍

我一直从事服务器后端系统开发快 10 年了,高并发分布式是互联网应用的基础,工作中先后使用过C#、Java、Go 等语言。当前工作需要把平台迁移到 Go,从零开始构建基础设施框架,在基础设施框架上开发各种业务系统。在迁移过程中逐步自研了一套功能完善的基础框架,同时也对语言的一些特性有了更深入的了解,所以便有了这个专栏。

这个专栏的目的是如何把一门语言学精通了,什么叫精通,就是该会的东西都会了,让读者对语言有更全面更深入的认识,让读者掌握怎么利用逆向方法推导某种细节带到其他语言学习中去,而不是仅仅是学一门,吃力一门。

你可以把一门语言看成是一个长期项目,通过这个长期项目来锻炼提升自己。比如 Go,从代码实现上,主要有类型系统设计,函数执行,内置的数据结构,对象系统设计,运行时,标准库,工具链等这些方面,但是这些方面仅仅看文档就能深入理解吗?

脱离 Go 文档之外,学习 Go 会遇到哪些问题:

  1. 程序怎么理解一个变量?
  2. 编码过程中为什么使用常量?
  3. Go语言里有枚举类型么?
  4. Go语言引用类型和其他语言有什么不同?
  5. 同是流控制语句,switch 和 if 有什么不同?
  6. 在编码过程中写过 goto 语句么?
  7. Go 支持支持尾递归优化么?
  8. 如何判断两个函数变量相等?
  9. 匿名函数有性能问题吗?
  10. 使用闭包会导致什么性能问题?
  11. 什么是错误?和异常有什么区别?
  12. 是不是数组就一定能分配在栈上?
  13. 字符串怎么性能优化?
  14. 字典怎么性能优化?
  15. 字段对齐对结构体有什么影响?
  16. Go 语言怎么实现 OOP 的方法和接口?
  17. 接口调用有哪些性能问题?
  18. ……

是的,脱离文档外还有很多关于语言基础的问题等着解决与学习,我相信在项目中也是如此。

市面上的文章大多数属于帮助文档型,其目的就是介绍基本语法,使用 API。 要知道,技术日新月异,大多数初学者一直沉浸在学习各种各样的语言、框架中。学的广,但是学的不精,也无法抽出思想应用到其他语言,达到融会贯通。

这就要注意了,你可能是学习方法不对,没有一个人把你带到细节里面,细节是魔鬼,任何简单的背后必然隐藏复杂的逻辑。这也是我为什么要写这个专栏,希望这个专栏能与你一起:

  • 抽丝剥茧,从 Go 背景知识到灵活使用,让你知其然知其所以然。
  • 一起去思考 Go 语言设计,为什么这样设计?怎么样设计?
  • 使用反汇编、编程范式推导 Go 核心原理;
  • 从架构思想层面解析 Go 语言每个细节;

最后,一起理解在官方文档中表达不清楚的知识点,助力项目与面试。

本专栏分为基础篇与进阶篇:

画板

基础篇

  • 第一部分:类型,包含类型存储、基础类型、引用类型、自定义类型等
  • 第二部分:表达式,包含流控制等
  • 第三部分:函数,包含函数执行、调用堆栈、参数及返回值、闭包等
  • 第四部分:数据,包含基础数据类型、常用数据结构等
  • 第五部分:对象,包含面向对象理论、方法、接口等

进阶篇

  • 第六部分:并发,进程、线程、协程、通道、同步等;
  • 第七部分:系统,内存管理、垃圾回收、调度、系统监控等;
  • 第八部分:标准库,io、bytes、context、net、db 等;
  • 第九部分:测试,单元测试、性能测试、代码覆盖率、性能监控等。

本课程重点从 Go 原理实现和思想深入浅出的讲解「基础篇」部分,希望对你有所帮助。

你将获得什么

  • 掌握 Go 语言基础特性;
  • 学会从架构层面思考编程语言设计。

作者介绍

李永京作者介绍图_750x400

适宜人群

  • Go 应用开发想转 Go 系统开发的开发人员
  • 对 Go 语言底层原理实现感兴趣的开发人员
  • 从事服务端架构设计的架构师、开发人员

购买须知

  • 本专栏为图文内容,共计 79 篇。
  • 付费用户可享受文章永久阅读权限。
  • 本专栏为虚拟产品,一经付费概不退款,敬请谅解。
  • 本专栏可在 GitChat 服务号、App 及网页端 gitchat.cn 上购买,一端购买,多端阅读。

订阅福利

  • 订购本专栏可获得专属海报(在 GitChat 服务号领取),分享专属海报每成功邀请一位好友购买,即可获得 25% 的返现奖励,多邀多得,上不封顶,立即提现。

  • 提现流程:在 GitChat 服务号中点击「我-我的邀请-提现」。

  • 购买本专栏后,服务号会自动弹出入群二维码和暗号。如果你没有收到那就先关注微信服务号「GitChat」,或者加我们图上的小助手微信进行咨询。(入群方式可查看第 3 篇文末说明)。