# Tony Bai · Go语言第一课 ## 你将获得 * 完整的Go语言入门路径 * 保姆级的基础语法教学 * 4个实战小项目带你落地Go语言 * Go语言常见坑点和避坑指南 ## 讲师介绍 Tony Bai(白明),资深架构师、tonybai.com博主,是Gopher部落技术社群发起人,现在在东软睿驰云平台及智能计算中心担任系统架构组技术负责人。 Tony Bai老师一直在电信领域从事高并发、高性能、大容量的网关类平台服务端的开发,这两年进入了智能网联汽车行业。这些方向对编程语言的要求都比较高,所以他接触了非常多的语言: * 曾深入研究过 C++; * 短暂研究过 Java、Ruby、Erlang、Haskell 与 Common Lisp。 但是,都因为复杂度、耗资源、性能不够、不适用于大规模生产等种种原因,他放弃了。 2011年,Go语言还没发布 Go 1.0 稳定版本时,他就在跟随、实践。一直到近些年,Go 替代了 C、Python,成为了他编写生产系统的第一语言: * 主持开发的行业短信网关系统,占据了中国移动三分之一强的市场份额; * 使用Go开发的5G消息网关,在运营商竞标中排名技术分第一; * 目前,正在智能网络汽车领域用Go“重新造轮子”! 此外,Tony Bai老师也一直在做Go语言的分享和布道。从 2019 年开始,Tony Bai老师坚持不懈地将自己每天阅读到的 Go 社区的优秀技术资料,整理成公开的Gopher 日报,提供给Go语言的关注者。他在Go技术博客tonybai.com、GopherChina大会上分享的实践经验和思考,深受广大Go语言用户的好评。 ## 课程介绍 作为从事云原生必备的语言、腾讯、字节跳动等大厂的“高薪”宠儿,Go在这些年真是吸引了不少开发者的目光。它简洁而高效,兼具“速度感”和“力量感”,相信你也曾在某个瞬间为它的魅力折服。 不过,很多刚开始学习Go语言的开发者,很难一下子找到高效的学习路径。或者说,经过一段时间学习后,对Go的理解也只是不上不下的“半桶水”。究其原因,无外乎这几点: * 缺乏认真的评估,从“入门”到“放弃”,平白浪费自己的精力; * 不会动手甚至不敢动手,学习只是“纸上谈兵”; * 用其他语言的思维学Go,最后“捡了芝麻,丢了西瓜”; * 缺乏设计意识,永远停在“hello, world”的世界里。 到最后,基础没打牢,项目上不去,这怎么行?因此,我们请来了资深架构师、技术博客tonybai.com的博主Tony Bai老师。他从2011年就开始关注Go语言了,对语言的理解非常深刻。 在这个课程中,Tony Bai老师会用“三个诀窍和五个阶段”,带给你一条系统、完整的Go语言入门路径。你会了解到Go语言一些独特的创新,快速掌握Go的各类语法特性。同时,这门课“语法+实战”的结合能让你快速上手开发Go程序,其中的高手洞见也能让你提前“闪避”坑点。 ![](https://static001.geekbang.org/resource/image/09/18/09176418c1360211a72c997dd9c42c18.jpg) ## 课程设计 课程总共分为五个阶段,分别是前置篇、入门篇、基础篇、核心篇,以及实战篇。 **第一个阶段:前置篇,“心定”建立认同感**。在这一部分,Tony Bai老师会带你了解Go的前世今生和设计哲学。这部分会让你从设计目标、设计哲学,以及演化进程等方面,全面建立起你对Go语言的认同感,避免出现“Hello-and-Bye”的情况,这是学好Go的前提。 **第二个阶段:入门篇,“手勤”多动手实践**。在这一部分中,Tony Bai老师会让你的第一个Go程序跑起来,看看一些实用Go程序都有哪些语法元素和结构。这部分会建立你“照猫画虎”的能力,让你可以随心所欲地进行实践。 **第三个阶段:基础篇,“脑勤”多理解,夯实基础**。这一部分,Tony Bai老师会围绕着“程序=数据+算法”的逻辑,从变量、常量等基本概念,到数据类型,再到广义的算法,让你可以用Go建立对现实世界的抽象认知,也能明白Go程序运行的基本逻辑。 **第四个阶段:核心篇,“脑勤+”建立自己的Go应用设计意识**。在这一部分,Tony Bai老师会跟你介绍Go语言独有的,或者是有比较大创新的接口类型与goroutine等并发原语类型,这些语法元素是Go语言的核心。从这部分开始,你会树立自己的Go应用“设计意识”。 **第五个阶段:实战篇,攻克Go开发的“最后一公里”**。在这一部分,Tony Bai老师会通过一个实战的例子,展示怎么做好学习与使用之间的衔接,帮助你走完“使用Go进行生产级开发”这“最后一公里”。 ## 课程目录 ![](https://static001.geekbang.org/resource/image/61/2e/611962c4a98776cf9c79010ab189552e.jpg) ## 适合人群 任何零基础想学Go语言的人群,或者从其他语言(如Java、PHP等)转来的开发者。 ## 特别放送 #### 免费领取福利 [![](https://static001.geekbang.org/resource/image/16/13/1664800067c250a67yy94c57d0e76c13.jpg?wh=1035x360)](https://time.geekbang.org/article/428647) #### 限时活动推荐 [![](https://static001.geekbang.org/resource/image/67/a0/6720f5d50b4b38abbf867facdef728a0.png?wh=1035x360)](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?dc_ps=2913145716543073286.200001) ## 订阅须知 1. 订阅成功后,推荐通过“极客时间”App端、Web端学习。 2. 本专栏为虚拟商品,交付形式为图文+音频,一经订阅,概不退款。 3. 订阅后分享海报,每邀一位好友订阅有现金返现。 4. 戳此[先充值再购课更划算](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?scan=1&activity=none&from=kdt&qr=directgoods_1541158976&shopAutoEnter=1),还有最新课表、超值赠品福利。 5. 企业采购推荐使用“[极客时间企业版](https://b.geekbang.org/?utm_source=geektime&utm_medium=columnintro&utm_campaign=newregister&gk_source=2021020901_gkcolumnintro_newregister)”便捷安排员工学习计划,掌握团队学习仪表盘。 6. 戳此[申请学生认证](https://promo.geekbang.org/activity/student-certificate?utm_source=geektime&utm_medium=caidanlan1),订阅课程享受原价5折优惠。 7. 价格说明:划线价、订阅价为商品或服务的参考价,并非原价,该价格仅供参考。未划线价格为商品或服务的实时标价,具体成交价格根据商品或服务参加优惠活动,或使用优惠券、礼券、赠币等不同情形发生变化,最终实际成交价格以订单结算页价格为准。