为了账号安全,请及时绑定邮箱和手机立即绑定
编程百科手册

扫一扫 手机阅读

课程目录已更新22节
全部 试读

课程亮点:

⾼屋建瓴 - Go 设计哲学与编程思想先⾏。
深⼊浅出 - 原理深⼊,例⼦简明,讲解透彻。
技能落地 - 总结 50 个高效 Go 程序设计技巧。
图⽂并茂 - ⼤量图表辅助学习,轻松更兼趣味。
知识全⾯ - 覆盖⾼级⾯试知识点,求职更⾃信。

课程简介:

每一个开发者的职业生涯中,都会遇到这样的困惑——到底如何才能高效地写出高质量的代码呢?

当然,Go 语言开发者也不例外。

作为一名近 10 年的 Go 语言开发者,Tony Bai 老师给出了自己的方法论:
① 像 Go 团队那样去编程——也就是跟着 Go 语言的设计思维去编程,事半功倍;
② 代码符合语言惯例(idiomatic)——清楚 Go 语言的惯用法,写标准、规范的代码。

基于这个思路,课程首先将带领⼤家回顾 Go 语言的演化历史,⼀起了解并深刻体会 Go 大牛们设计Go语言时的所思所想,与大牛们实现思维上的共鸣,理清那些看似随意、实则经过深思熟虑的设计的背后的付出。

接下来,将基于笔者对 Go 核心团队、Go 社区高质量代码的分析归纳,从代码风格、基础语法、函数/方法、接口、并发、错误处理、测试调试、标准库、工程实践等多个⽅⾯给出改善 Go 代码质量的有效实践。

本课程由 Tony Bai 老师浓缩自己的成长经验汇总而成,为各位正在经历技术与职业困惑的开发者们提供一种进阶的思维与方法。其中,由老师总结并亲身实践出来的 50 条高阶 Go 开发技巧,更能帮助大家减少试错成本,实现技能的真实、快速提升。

学完课程,你将拥有和 Go 大牛们⼀样的 Go 编程思维,能写出更符合 Go 惯例⻛格的⾼质量 Go 代码,从众多 Go ⼊⻔选⼿中脱颖而出,从新手到高手!

讲师简介

Tony Bai,Go 语言技术专家,GopherChina 大会讲师,OSCHINA 源创会技术讲师,《七周七语言》译者之一,慕课网《Kubernetes实战:高可用集群搭建、配置、运维与应用》作者,开源拥趸。目前正在国内⼀大型软件公司带领团队使用 Go 语⾔构建移动运营商的 5G 消息平台,这个平台将处理来自全国各地几十万个 5G chatbot 程序每天发送的几十亿条 5G 消息请求。

专栏模块

本专栏共分 10 个模块(篇),50 个小节。

模块1:设计哲学篇
本专栏的开篇和总起。和读者⼀起穿越时空,回顾历史,详细了解 Go 语⾔的诞⽣、演化以及今天的发展。归纳总结 Go 语⾔的设计哲学和原⽣编程思维,让读者可以站在语⾔设计者的⾼度理解 Go 语⾔与众不同的设计。

模块2:代码风格篇
每种编程语⾔都有⾃⼰惯⽤的代码⻛格,⽽遵循语⾔惯⽤⻛格是⾼质量 Go 代码的必要条件。本篇详细介绍了得到公认且⼴泛使⽤的 Go ⼯程的结构布局、代码⻛格标准、标识符命名惯例以及变量声明形式等。

模块3:基础语法篇
本模块详述在基础语法层⾯⾼质量 Go 代码的惯⽤法和有效实践,涵盖⽆类型常量的作⽤、定义 Go 的“枚举常量”、“零值可⽤”类型的意义、切⽚原理以及其⾼效的原因、Go 包导⼊路径的真正含义等。

模块4:函数与方法篇
函数和⽅法是 Go 程序的基本组成单元。本模块聚焦于函数与⽅法的设计与实现,涵盖 init 函数的使⽤、跻身“⼀等公⺠”⾏列的函数有何不同、Go 方法的本质等帮助读者深⼊理解它们的内容。

模块5:接⼝篇
接⼝是 Go 语⾔中的“魔法师”。本模块将聚焦接⼝,涵盖接⼝的设计惯例、使⽤接⼝类型的注意事项以及接⼝类型对代码可测试性的影响等。

模块6:并发编程篇
Go 以其轻量级的并发模型⽽闻名。本模块将详细介绍 Go 基本执⾏单元 - goroutine 的调度原理、Go 并发模型以及常⻅并发模式、Go ⽀持并发的原⽣类型-channel的惯⽤使⽤模式等内容。

模块7:错误处理篇
Go 语⾔⼗分重视错误处理,它有着相对保守的设计和显式处理错误的惯例。本模块将涵盖 Go 错误处理的哲学以及在这套哲学下⼀些常⻅错误处理问题的优秀实践⽅案。

模块8:测试与调试篇
Go ⾃带强⼤且为⼈所称道的⼯具链,本模块将详细介绍 Go 在单元测试、性能测试以及代码调试⽅⾯的最佳实践⽅案。

模块9:标准库篇
Go 拥有功能强⼤且质量上乘的标准库,多数情况我们仅使⽤标准库所提供的功能⽽不借助第三⽅库就可实现应⽤的⼤部分功能,这⼤幅降低学习成本以及代码依赖的管理成本。本模块将详细说明⾼频使⽤的标准库包,如 net/http、strings、bytes、time 等的正确使⽤⽅式,以及 reflect 包、cgo 在使⽤时的注意事项。

模块10:工程实践篇
本模块将涵盖我们使⽤ Go 语⾔做软件项⽬过程中很⼤可能会遇到的⼀些⼯程问题的解决⽅法,包括:使⽤ module 进⾏ Go 包依赖管理、Go 应⽤容器镜像、Go 相关⼯具使⽤以及 Go 语⾔的避“坑”指南。

课程目录已更新22节
精选留言
  • 鱼右

    很适用,学习到了

    讲师回答 / tonybai

    感谢订阅,欢迎反馈交流

  • 婉自清

    读了前两篇,从思想上去读懂了Go语言的一些设计原则,从问题源头去了解设计初衷确实不错。

  • BingoHuang

    很实用~

适合人群
  • 迫切希望 Go 进阶并上升到新层次的 Go 语言入门学习者;
  • 希望写出高质量的、更符合 Go 惯用法的代码的 Go 语言使⽤者;
  • 有 Go 语言面试需求/晋升需求的开发者和在校生;
  • 希望深⼊掌握多门编程语⾔的开发者。
购买须知
  1. 本专栏为图文形式内容服务,共计 50 小节,上线时间为 2020 年 9 月 8 日 ,预计 2020 年 11 月 更新完成。
  2. 本专栏上线即更新完成,形式为图文;
  3. 订阅成功后,用户即可通过慕课网 PC 端、App 端、WAP 端享有永久阅读的权限;
  4. 慕课专栏为虚拟内容服务,订阅成功后概不退款;
  5. 在专栏阅读过程中,如有任何问题,请邮件联系 kf@imooc.com
  6. 慕课专栏版权归本平台所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表,违者将依法追究责任。
造烛求明,读书求理
扫码关注慕课网服务号
干货分享
定期活动
课程优惠
专栏福利
官方优惠福利活动一手掌握,关注慕课网(ID:imooc-com),和30万+程序员一起成长!

本专栏知识点梳理

下载慕课网APP

更好的体验,让阅读随处可得

扫描二维码,下载慕课网APP
意见反馈 帮助中心 APP下载
官方微信