加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

golang学习资料

发布时间:2020-12-16 18:28:20 所属栏目:大数据 来源:网络整理
导读:?? 本部分资料来自于知乎:http://www.zhihu.com/question/23486344 - 《Go编程基
??
本部分资料来自于知乎:http://www.zhihu.com/question/23486344
- 《Go编程基础》 Unknwon/go-fundamental-programming · GitHub
- 《Go Web基础》 Unknwon/go-web-foundation · GitHub
- 《Go名库讲解》 Unknwon/go-rock-libraries-showcases · GitHub


1 golang.org/doc/
主要看 A Tour of Go, How to write Go code, Effective Go
2 熟悉package, GoDoc
package : strconv,net/http,net/url,string,math,time
3 练习,project eular. 每学一门新语言的时候,可以来做一遍.
About - Project Euler
4 语言特点:
select,channel,defer,goroutine,静态类型(int,int64,类型转换),闭包,package的组织形式
5 reflect
blog.golang.org/laws-of
6 阅读开源软件的源代码,nsq,martini等.
7 使用go去做一个项目.


作者:唐生
链接:http://www.zhihu.com/question/23486344/answer/24805683
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

入门看官网的tutorial不错,整整74页 tour.golang.org/#
然后看这页里的各个链接,推荐顺序:
golang.org/doc/code.htm
golang.org/doc/effectiv
golang.org/doc/faq
golang.org/doc/cmd
blog.golang.org/gos-dec
blog.golang.org/go-conc
talks.golang.org/2012/c
talks.golang.org/2013/a
blog.golang.org/error-h
blog.golang.org/gobs-of
blog.golang.org/laws-of
blog.golang.org/profili
blog.golang.org/c-go-cg
包文档也要过一遍 golang.org/pkg/


建议你先看: go-tour-zh.appspot.com/#
逐个例子的看,慢慢的改例子,然后运行;确保自己理解教程中给出的每一行代码,以及说明文字。
然后再去看: Unknwon/the-way-to-go_ZH_CN · GitHub
然后,你就可以用go做实际项目咯~

作者:asta谢
链接:http://www.zhihu.com/question/23486344/answer/24770195
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

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

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

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

这个阶段就是找各种东西用golang来写,多写就会理解越来越深入.



cs.cmu.edu/~dga/15-440/
这是CMU分布式系统课程,对应有四个课程项目,全部要求用go实现.项目都有完整的说明和单元测试程序.题主可以做一做


Python转到Go的,学了大概2个月, 期间写了大概2500行游戏服务器框架( Skycrab/cham · GitHub),不包含测试代码,不包含业务逻辑代码。主要是学习 github.com/cloudwu/skyn
写的,主要就是实现golang的actor模型,服务之间的消息发送,消息处理,定时器实现,广播实现,log模块,websocket实现,gate模块,debug service实现,还有一些基础库,如lru算法,300行简单的orm(curd),敏感词过滤,还有一个从 @xjdrew的 github.com/xjdrew/lua-z移植的go版本sorted set实现。所以我觉得你缺的是一个开始,开始写代码,研究代码,阅读代码,重构,反复。
你是搞php的,建议从web开始,从 @asta谢的 astaxie/beego · GitHub开始搞起,用beego做个小应用,先不要想如何牛逼,如何优美,先以功能实现为主。从操就业,这时一股熟悉的感觉弥漫心头,自信悄然而来,嘎嘎golang小kiss而已。注意,自信很重要,自信很重要,真的很重要,重要的话要说3遍。
自信来了,代码也写了,期间欠的债也该还了。啥,欠谁债了,你别吓我,我没钱。哈哈,当然是欠golang的债了,前期你玩了人家,很爽自信也来了,人家当然要赖着你了,yes,就是到了深入交流的时候了。这个时候你需要认真看项目中用到的标准库实现原理,框架实现原理,学习代码方式,golang的原理,可以读读 Skycrab/go-internals · GitHub。这和谈恋爱一样,深入交流你才知道,她还会这个,还能这样,哈哈,get新技能。当然这个阶段是痛苦的,切记不要一股脑一直研究,不然会把你带入深渊拔不出来。这和谈恋爱一样,你天天纠结人家七大姑八大姨的,前男友,前女友的,人家能给你好脸色才怪。


新手遇到的了50个go语言的坑: 50 Shades of Go: Traps,Gotchas,and Common Mistakes for New Golang Devs ,里面很多的坑,我也在学的过程中遇到过,避免这50个坑,可以节省编译期间的大部分时间,不说了,填坑去了
首先如果有C的基础,推荐《 Go by Example》,通篇基于代码讲解,通俗易懂,没废话。花上一个周末的时间,很快就能自己动手开始写Go代码。

之后可以看看相关创始人的博客,比如《 research!rsc: Go Data Structures: Interfaces》,加深对Go语言内部机制的理解。最好还能补一下并发的相关知识(比如自旋锁、互斥锁等等的概念),虽然不一定用得上,但知道的话日后调试代码能省不少时间。

有空的话还可以读读 The Go Programming Language Specification,我觉得这可以算是最易懂的几份Language Specification。


yinwang.org/blog-cn/201

你需要看这个《对 Go 语言的综合评价》——王垠


Go语言极速入门手册.go


学习资料推荐:
qyuhen/book · GitHub
雨痕的书写的很好。
你可以从它的第一版开始看,它包括语言基础、标准库解释。
第四版的没有基本库解释。我想他的计划是:
第五版
上册:语言基础
中册:标准库
下册:源码分析


Go Programming Blueprints - 如果你不知道拿Go来做什么

The Go Programming Language - 语言基础

Go语言编程的基础,我推荐一个:Go语言第一课

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读