当然,我还是会努力写一些全新文章,特别是多写一些技术文章。今天重新发表的文章是《Golang学习路线》,首次发表参考:Golang学习路线。
以下是原文内容:
由于项目原先使用Python开发,在QPS上遇到了瓶颈。从2016年开始,就开始使用Golang来重构项目。先后经历了两个项目,都是使用Golang进行开发。算下来,使用Golang进行项目开发已经将近3年,但是觉得自己对于Golang的理解以及思考还是欠缺很多。最近反思了自己的不足,决定系统性地学习下Golang,所以,整理了Golang的学习路径,以便日后参考。
入门基础
学习Golang,从入门语法开始,资料很多,包括官网以及一些大牛写的开源书籍:
Golang官网入门教程:https://tour.golang.org/welcome/1
Miek Gieben写的开源书籍Learning Go:https://miek.nl/go/,中文版由邢星翻译,托管在github上Learning Go中文版:https://github.com/mikespook/Learning-Go-zh-cn
Golang官方代码示例GoByExample:https://gobyexample.com/
astaxie写的 build web application with golang:https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/preface.md
Golang入门指南:https://learnku.com/docs/the-way-to-go
Golang标准库
掌握基本语法后,可以深入学习Golang的标准库,参考:
官方标准库:https://golang.org/pkg/
中文版的标准库:https://studygolang.com/static/pkgdoc/main.html
astaxie写的gopkg:https://github.com/astaxie/gopkg,主要是golang标准库的使用示例。
Golang语言标准库:https://books.studygolang.com/The-Golang-Standard-Library-by-Example/,也是Golang标准库的使用示例,可以和astaxie的开源项目互补着看。
Golang开源项目
对Golang有一定了解后,可以选择几个使用Golang开发的开源项目进行学习:
Kubernetes:https://github.com/kubernetes/kubernetes
Docker:https://github.com/moby/moby
etcd:https://github.com/etcd-io/etcd
Skynet:https://github.com/skynetservices/skynet-archive
beego web框架:https://github.com/astaxie/beego
Golang进阶学习
https://blog.golang.org/index,GoBlog上有不少Golang进阶知识,包括:slice实现原理、channel、并发编程、垃圾回收等。
Golang书籍推荐
深入解析Go:https://tiancaiamao.gitbooks.io/go-internals/content/zh/index.html
astaxie写的build web application with golang:https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/preface.md
Golang入门指南:https://learnku.com/docs/the-way-to-go
Miek Gieben写的开源书籍Learning Go:https://miek.nl/go/,中文版由邢星翻译,托管在github上Learning Go中文版:https://github.com/mikespook/Learning-Go-zh-cn
《Go并发编程实践》
Golang实战
学习一门语言最重要的还是用这门语言,在写代码过程中对于语言本身会有更加深入的了解。建议在学习Golang的同时最好以实际项目为基础,多写代码,在实际锻炼中进行成长。