Skip to content
An example project, for my column named "Core Golang - 36 lessons"
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src/puzzlers Add some comments for demo46.go Jan 25, 2019
.gitignore
README.md Update README.md Mar 13, 2019
gohackers_planet.jpeg Update gohackers_planet.jpeg Mar 17, 2019

README.md

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个多月。专栏文章共计53篇,正文达50篇。
  • 2019-01-21:此专栏的所有配图和思考题简答的原稿都已完成。
  • 2019-02-02:发布“新年彩蛋:完整版思考题答案”。
  • 2019-02-18:此专栏的付费读者已突破20000!
  • 2019-02-21:此专栏已基于之前的所有工作进行了全面的升级!

进一步学习交流

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

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

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.