有什么适合 Go 语言初学者的 Starter Project?

之前有 Java 和 C 语言经验,都是在学校里学的。最近开始学习 Go 语言,谷歌官方的 tutorial 过了一遍,看了一些文档,觉得还是需要做一…
关注者
1,267
被浏览
172,352

29 个回答

funny/link · GitHub

长连接网络层的脚手架,因为很简单,所以还算不上框架,就是用来快速搭建自己的网络层用的脚手架,里面的接口设计技巧和编程技巧可以参考下,如果深挖变更日志的话也可以看到这个库的重构过程,之前还有两版内存池的实现,后来都删掉了。

funny/binary · GitHub

专门用来做二进制数据操作的库,可以用来做二进制文件解析或通讯协议解析,里面的一些接口设计技巧好编程技巧也可以参考一下,里面一些东西是从link包重构过程中分离出来的。

idada/go-labs · GitHub

这些是我平时做的一些试验代码,在开发过程中经常会因为一些细节问题影响设计上的判断,所以我会把这些细节问题拆分成一个个小的试验,通过试验数据确认性能或机制,有一些试验比较早了,可能因为Go运行时升级会有变化,所以比较有参考价值的大概是试验方式和拆分问题的思路。

有一些试验代码是即兴的,在

The Go Playground

上直接写直接试了,所以没有留档。

因为

The Go Playground

和 go test 这些工具让试验变得很便捷,所以我在学习Go的过程养成了做小实验的习惯,这个习惯也影响到我做其它的事情,我觉得拆解问题做试验是很好的学习方式,推荐大家尝试。

推荐做

MIT 6.824

的 Lab。这个课是讲分布式系统的,有几个挺有意思的 Lab,现在改用 Go 了很适合练手。比如 Lab 1 就是实现一个简单的 MapReduce 框架,会用到 Go channel 和 RPC。