Go问答 怎么学习 golang?

astaxie · 2016年10月09日 · 最后由 Cloudinsight 回复于 2016年10月12日 · 926 次阅读
本帖已被设为精华帖!

我是毕业以后才学的 php,不是计算机专业。因此,我想学门静态语言。目前,自己学习 golang 也有一段时间了。但是感觉 golang 总是如不了门!  和 php.比。感觉 go 较灵活。它的标准库的很多函数 参数、返回值什么的 不再像 php 一样单纯的就是那几个基本数据类型,而是接口,甚至结构什么的,而我总是被这些东西整得晕头转向!

看文档不知道怎么下手!求知乎的大神指点迷津!怎么学习 golang,或静态语言? ----------------------一年以后--------------------

ps:感谢各位大大热心的回答

更多原创文章干货分享,请关注公众号
  • 加微信实战群请加微信(注明:实战群):gocnio

我觉得学习一门语言最重要的就是做到三点,第一看基础知识,第二学习抄代码,第三学习写代码

第一点,很多人都觉得上来就动手写,但是你基础的东西都没掌握,怎么写呢?欲速则不达,所以基础的东西还是必须要先掌握好.这里推荐你几个基础的入门材料: http://tour.golang.org/#1 邢星翻译的 mikespook/Learning-Go-zh-cn · GitHub Go by Example 我觉得你把这几个基础掌握之后就可以开始抄袭代码了,如果你之前有 PHP 的开发经验,那么也许我写的这本书对你了解 golang 有帮助, https://github.com/astaxie/build-web-application-with-golang

第二点,我们很多时候开始写代码都是没什么思路,也无从下手,但是我们可以模仿别人写代码,上海俗话里面常说"吃大户,用大户,消灭大户",我们就是"看代码,抄代码,最后自己写代码".这里给你几个入门级别的代码看看学习一下: Web.go - Quickstart 很简单,就是学习他的路由怎么实现的,如何编写自己的路由 icub3d/home 路 GitHub 这是一个 Go+ AngularJS 的实现,看看如何做 API 应用最后我列一下你可以自己参考去实现的一些功能,我当初培训我们战虎班的同学就是用这些来一起学习的. 日志分析 IP 库分析 管理后台查看分析日志第三点,自己写代码,这个时候就是已经对 golang 有了一定的了解了,那么我们就可以开始做自己的项目了,做项目最想就是快速开发,那么我就推荐你 https://github.com/astaxie/beego 使用 beego 框架可以很快速的开发你的 Web 或者 API 应用 Homepage - Docker: the Linux container engine 使用 docker 来做虚拟化 skynetservices/skynet · GitHub 学习分布式 coreos/etcd · GitHub 分布式应用 这个阶段就是找各种东西用 golang 来写,多写就会理解越来越深入.

交流群:148647580  

《雨痕笔记》(《Go 语言学习笔记》)

《Go 并发编程实战》

the way to go

慢慢补充。。。

记得早期接触 go 时,看的是 Golang 之父之一的 Rob Pike 的 Go course 3 部曲(3 个 ppt),如果你没有,可以到这里下载(注意:由于 rob pike 的这个 ppt 在 go 1 之前发布的,ppt 上的有些语法与 go 1 有少许差别,注意识别)。

要想深入了解 Go,写出 idiomatic 的 golang 代码,官方 doc:effective go, go faq,以及 go language specification 也是不可或缺的。

之后再系统的学习后的资料,建议看 k&a 写的 go 圣经-the go programming language、 《Go in action》以及国内雨痕大师的《go 语言学习笔记》(尤其是代码分析的部分),学习笔记一书适合稍微有些 go 经验,且抱着极大热情挖掘 go runtime 背后的原理的人去学习。

剩下的就是不断的去用 go coding, coding, coding 了,无捷径。

多看,多写,多练

可以来看我们翻译的 go 语言圣经 (网络版

基础语法看官方文档就够了。 web 相关的知识推荐 https://book.douban.com/subject/26340005/ 。 然后就可以用框架什么的。自己建几个表,增、删、改、查。

有其他语言基础就多看看 go 标准库http://godoc.ml/http://godoc.org ),了解用法。 标准库很规范和风格

可以看看我们工程师写的文章:Python 程序员的 Golang 学习指南(I): Go 之初体验 持续更新中,欢迎关注

xiemengjun 将本帖设为了精华贴 02月10日 17:42
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册