想开始学 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 1
@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 喔~~没仔细研究过,我是不怎么喜欢那个东西。。
|