Go 语言学习路线指南
54

不知道是不是有同学打算开始学习 Golang,确不知道如何开始,至少我开始学习的时候就是这种感觉,为了这个,我查询了很多的帖子和问答。网上的 Golang 资料虽然不多,但是也不少,这个我的一个学习路线,从简单内容开始,可以作为参考。

第一步 Go 语言之旅

这个是一个官方的入门教程,或者说只是一个大概了解的教程,只介绍了一些简单的东西,并且没有太多的说明。不过这个教程支持在线执行代码,还是很不错的,这个时候你都不需要有本地的开发环境。不用想太多,现在就开始,把这个教程从头到尾看一遍,练习一遍,遇到不明白的地方也不要纠结,继续向后看就行了。

官方: https://tour.golang.org

中文网: http://tour.studygolang.com

第二步 开发环境

这里也可以忽略不看,因为每一个教程都会介绍怎么配置环境

操作系统

个人推荐使用 Linux,可以使用 Ubuntu 或者 Fedora ,如果条件允许(不差钱) 也可以使用 Mac,当然使用 Windows 也是可以的,慢慢的就会知道 Windows 下做开发的纠结了。

开发环境

Go 的安装非常的简单,没有太多的依赖,如果是 Linux 下安装基本上下载一个二进制包,解压配置上一个环境变量、GOROOT 既可以了,具体的可以查看官方的安装方法: 官网安装文档中文安装文档

开发工具

可以选择一个自己喜欢的,个人建议要用个 IDE,我使用过 vim 、Sublime、Intellji idea ,最后发现还是 IDE 比较方便,尤其是代码追踪断点等。这个不纠结那种好,有人和我说 Sublime 和 vim 安装上插件也都可以,但是个人不推荐(我以前是 Sublime 重度用户,PHP 一直都在 Sublime 下开发)。

主流的文本编辑器及 IDE 的配置 官方 都有介绍,选一个自己喜欢的就可以了。

第三步 看一套视频

有人可能喜欢看视频,有人可能喜欢看文档,这个根据个人爱好去选择,个人建议要看一套视频并且只看一套就够了,毕竟看视频的效率还是比较低的,看完视频一些基础的知识点就可以掌握,并且会知道一些专有名字的读法。我以前学 PHP 的时候就从来没看过视频,导致很多名词的发音都是错的,经常被人嘲笑……,当然如果英文非常的好的同学就不用纠结了。

网上 Golang 的视频不是很多,不过也有好多套,推荐 无闻的Go编程基础,这个是被 golangcaff.comSummer
整理优化过的,看起来的效果会比一些其他网站好一些。

第四步 看一篇教程

教程也有很多,看个人的喜好吧,推荐看 Go 入门指南 ,这个也是由 无闻 翻译The Way to Go ,不过社区的版本对排版进行了优化并加入了后面没有翻译完的部分。

第五步 将标准库全部都过一遍

至少要叫常用的全都看一遍,如 strings / strconv / http 等,如果有能力可以将它们都记住,如果记忆力不太好(像我这样)至少也要知道有什么,用到的时候通过手册可以快速找到。

官方标准库: https://golang.org/pkg/

中文版的标准库: https://studygolang.com/static/pkgdoc/main.html

极力推荐 https://github.com/astaxie/gopkg ,可以在学习的时候看这个,有关于标准库的详细说明和示例,学习起来会容易一些,等全都明白了要使用的时候可以去查看上面的文档。

更新:

又发现了一个不错的学习标准库的资料: 《Go语言标准库》The Golang Standard Library by Example ,有点小遗憾就是不是很全,个别的包没有完成,不过 astaxie 的那个也不全,可以互相参考着看。

完成

到这个时候,你肯定已经入门了,剩下就开始写自己的东西吧,比如写一个博客,或者去学习一个框架,不知道怎么继续去深造的话就去招聘网站上看看自己喜欢的企业都要求什么,招聘要求会什么就去学什么。

暂时就到这里,后续还会继续更新此文档,推荐一些有用的资源,欢迎收藏关注。

本文来自 https://broqiang.com 没有版权限制,随意转载

本帖已被设为精华帖!
本帖由 Summer 于 6个月前 加精
讨论数量: 4

hhhhh牛逼,受益匪浅,新手路过,膜拜大牛

6个月前

问下 go 有类似 python php 那样的命令行测试的工具吗?

2个月前

@lovecn Go 是编译语言,PHP 和 Python 是解释语言,所以不可以直接执行,不过 Go 可以使用 go run main.go 来执行代码,也可以自己直接写命令行

2个月前
zgmphoo

多谢大佬的分享

1个月前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!