想开始学 go ,请大神推荐一下学习线路,谢谢
![]() | 1 reus 2017-04-20 11:27:25 +08:00 看《 The Go Programming Language 》 |
![]() | 2 jarlyyn 2017-04-20 11:28:26 +08:00 要有项目。 项目驱动 |
3 spider82 2017-04-20 11:29:25 +08:00 via iPhone 官方 api awesome go 看 github 多星项目 不断练习 done |
![]() | 5 Wangxf 2017-04-20 11:33:07 +08:00 |
![]() | 6 shaozhengmao 2017-04-20 11:47:43 +08:00 同想学,应该项目驱动更好吧 |
![]() | 7 qiyuey 2017-04-20 11:52:04 +08:00 先看一遍圣经,然后项目驱动 |
![]() | 8 rrfeng 2017-04-20 12:15:23 +08:00 有啥基础? |
![]() | 9 dsg001 2017-04-20 12:23:57 +08:00 用 go 写爬虫吧 |
![]() | 10 ChristopherWu 2017-04-20 12:35:15 +08:00 1. 把官方 tour of golang 看一遍 https://tour.golang.org/welcome/1 2. 把这个项目用 golang 写一遍 https://github.com/YongHaoWu/NeteaseCloudMusicFlac/blob/master/python3_main.py |
![]() | 11 iot 2017-04-20 12:50:13 +08:00 看完基础多看几个开源项目就行了,市面上也没几本书,挑几本看看就行。 我看过《 go web 编程》《 The way to go 》然后研究常用类库,看类库源代码 或者 开源项目源代码,可能涉及到分布式、 linux c 一些知识 |
![]() | 12 byfar 2017-04-20 12:59:47 +08:00 #9 +1 没有项目驱动,那就用爬虫驱动。 学习新语言从爬虫入手,既有成就感,又能了解基本用法。 |
![]() | 13 hornets 2017-04-20 13:49:51 +08:00 郝林大大更新了一版书, go 并发编程实战第二版。 |
![]() | 14 zhengxiaowai 2017-04-20 14:01:34 +08:00 @hornets 那本就别推荐了,他的写作风格要改改了。。 |
![]() | 17 asdf330 OP @ChristopherWu 不错不错,两个一起学 |
![]() | 19 rrfeng 2017-04-20 14:31:29 +08:00 有编程基础就直接看圣经啊,看圣经的好处是对一个语言的基础有所了解,不要去看 xxx web 编程, xxx 并发实战 之类的,这些属于进阶。 圣经看到一半,甚至 1/3 ,就可以动手撸项目了,边撸边看后面的。 |
![]() | 20 admindemon 2017-04-20 14:52:46 +08:00 |
![]() | 22 jarlyyn 2017-04-20 14:55:50 +08:00 反正我的路线吧 1.写了个简单 mud 连接客户端(个人习惯,刚写 node 的时候也是) 2.写了个简单爬虫 3.重写了博客 4.写了一个简单的组建化框架, 5.拿来做公司内部项目。 |
23 lovespring4 2017-04-20 17:02:44 +08:00 @zhengxiaowai 确实感觉是,个人感觉写的没有突出重点,看完没啥收获。 |
24 PhilC 2017-04-20 17:19:46 +08:00 @lovespring4 我看几分钟就能睡着 |
26 alexsunxl 2017-04-20 19:08:38 +08:00 来说一下我的路线。 上来接到一个需求,内部系统需要请求一些数据, 数据提供部门只给 grpc 接口。 然后随便挑了一个框架, beego 。 然后把 grpc 代码嵌进框架。 写了两个星期正好赶上去参加 gopher china 总共搞了快一个月吧。感觉现在入门了。 代码写写删删,很快就熟悉了 |
![]() | 27 misaka19000 2017-04-20 20:02:02 +08:00 @alexsunxl #26 请问下在真正的项目里 go 是面向对象的方式多一些还是面向过程的方式多一些? |
![]() | 28 WildCat 2017-04-20 20:45:54 +08:00 via iPhone ![]() @misaka19000 go 面向对象很不完善,面向过程的思想和类似函数式(毕竟 immutable )的思想多一点。比如方法底层就是函数,第一个参数是 self 。 很多人把 go 称为 命令式语言。 和王垠大神观点类似,写 go 还不如 python 、 java 舒服。但是我觉得 go 介于两者之间,语言特性做了很多减法,整体非常简单(很多人评价用 go 的好处就是有其他编程语言经验的人一个星期就可以完全上手,其他花哨语言比如 scala 需要六个月)。这就是 go 成功之处, keep it simple, rather than tricky |
29 scnace 2017-04-20 20:50:52 +08:00 via Android 有好多干货很多的 Gitbook 没有出实体书 :( |
![]() | 30 misaka19000 2017-04-20 21:13:44 +08:00 @WildCat #28 3q, get it |
31 alexsunxl 2017-04-20 23:00:51 +08:00 @misaka19000 要用好 interface , 然后不要做太大的抽象, 标准库和主流 go 开源库里都喜欢用小的 interface , 一个 interface 里大概 2-3 个方法。 不用太强调面向对象。 还有个原则是函数要尽量 be conservative what you send , be liberal what you accept |
![]() | 33 araraloren 2017-04-21 09:00:07 +08:00 @asdf330 如果不反感 python 的 tab 语法,还是建议学习 python3 python 毕竟是一门相对完善的语言 关于 go 的缺陷 可以参考 https://github.com/ksimka/go-is-not-good |
![]() | 34 misaka19000 2017-04-21 09:38:48 +08:00 @kotokz #32 mud 是啥 |
![]() | 35 zachgenius 2017-04-21 09:55:27 +08:00 学什么 GO, 一起来玩 Erlang 啊~~erlang 的进程概念好玩的飞起. 一切皆进程, 万物皆并发 |
37 majixian621 2017-04-21 10:14:38 +08:00 最近刚开始学习 go ,已经试着用 go 来刷 leetcode,欢迎一起交流 |
![]() | 39 spice630 2017-04-21 13:25:25 +08:00 |
40 julyclyde 2017-04-21 13:26:40 +08:00 @araraloren python 的 tab 语法是错的。正确的是 4 空格 |
![]() | 41 zcljy 2017-04-21 13:42:47 +08:00 教程之后做项目 教程之后做项目 教程之后做项目 三遍够了 |
![]() | 42 8355 2017-04-21 13:56:53 +08:00 我是 14 年开始学的 那时候只有无闻的视频 看了以后学了 beego 写了个微信商城的项目 性能真的超级 |
![]() | 44 araraloren 2017-04-26 09:35:24 +08:00 @julyclyde 喔~~没仔细研究过,我是不怎么喜欢那个东西。。 |