/Golang_Puzzlers

An example project, for my column named "Core Golang - 36 lessons"

Primary LanguageGo

Golang_Puzzlers

我在极客时间开设的专栏《Go语言核心36讲》的配套项目,也可以称之为“Go语言谜题”项目。其中几乎包含了此专栏涉及到的所有代码。

这个专栏的地址在这里。本项目中的代码携带的信息相对较少,往往需要配合专栏的内容去看。欢迎大家到“极客时间”订阅我的专栏。

欢迎广大的专栏读者和Go语言爱好者们查阅和下载!如果此项目对你有所裨益,还请轻点鼠标、Star⭐一下。谢谢!

项目结构说明

项目中会有很多像article3这样的代码包。这种代码包下面还会有像q0q2这样的子代码包。对于这些代码包的层次和命名是有一套潜在的规则的。如下:

  1. article3是第三篇正文的专属代码包。其他名称相似的代码包含义可类推。
  2. 在每个文章代码包中,都可能会有q0q1q2q3这类的子代码包。
  3. 此专栏的主体文章是有固定的结构的。它们一般被分为几个部分:
    • 主问题提出之前的部分,也被称为前导部分。
    • 主问题部分,是文章主体内容的切入点。
    • 扩展问题部分,是切入点的延伸和深入,一般由若干个扩展问题组成,比如:扩展问题1、扩展问题2,等等。
    • 总结部分,是对前面的阐述和问题的总结。
    • 思考题部分,由一到两个思考题组成。这部分的题目没有答案,仅供大家思考和讨论。
  4. 以上述文章结构为基础,q0子包中会包含与前导部分对应的示例代码,q1子包中会包含与主问题部分对应的代码,而q2子包中会包含与扩展问题部分的扩展问题1对应的代码,以此类推。总结部分和思考题部分一般没有与之对应的代码包。

一般只有像q0q1q2这样的代码包下才会包含源码文件。若文章的某个部分存在对应的代码则至少会有一个源码文件,并且总会有一个命令源码文件作为示例的入口,也就是示例入口文件。每个示例入口文件都会以demoX.go为名,其中的X代表序号。所有的示例入口文件的序号都是唯一的,并且从第一个出现的示例入口文件开始以自然数的顺序确定序号。这样做可以统计示例的总数量。

欢迎大家与我一起学习Go语言。如果你怀疑或确定本项目的代码有错误,请通过专栏找到我,我们一起讨论。谢谢!

项目状态更新

  • 2018-11-09:此专栏在此时已更新到了39讲,早已超过了原本约定的36讲。不过这还没完,预计它最终会达到50讲,并且一直更新到12月初。之后,我仍然会对专栏的内容进行专项增补,比如:补充配图、添加思考题的答案,等等。这些增补也同样都会被及时地更新到专栏的在线版中。这些工作都做完了恐怕要到明年的春节了。所以,专栏的读者们,你们赚到了;)。
  • 2018-11-20:此专栏的全部文章都已经写作完成,历时4个多月。专栏文章共计54篇,其中的主题文章共49篇。
  • 2019-01-21:此专栏的所有配图和思考题简答的原稿都已完成。
  • 2019-02-02:发布“新年彩蛋:完整版思考题答案”。
  • 2019-02-18:此专栏的付费读者已突破20000
  • 2019-02-21:此专栏已基于之前的所有工作进行了全面的升级!
  • 2019-05-31:发布“儿童节彩蛋”:添加序号映射表,对应专栏中文章的序号与源码目录中的序号。

进一步学习交流

2019年3月,经过再三考虑,我决定在知识星球App上开启一个名为GoHackers VIP的付费星球,旨在与gopher们围绕Go语言程序设计进行更加深入和广泛的交流,互通有无、互惠共进。

我已经邀请了国内知名的几位Go语言技术布道者成为该星球的合伙人。我们每周(甚至每天)都会在这个星球里发布一些有价值的信息或文章。现诚邀所有喜爱Go语言的技术人入驻。大家可以下载知识星球App并搜索GoHackers VIP,也可以直接扫描下图中的二维码入驻。