想开始学 go,请大神推荐一下学习线路,谢谢 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
asdf330
V2EX    Go 编程语言

想开始学 go,请大神推荐一下学习线路,谢谢

  •  
  •   asdf330 2017-04-20 11:21:04 +08:00 5137 次点击
    这是一个创建于 3105 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想开始学 go ,请大神推荐一下学习线路,谢谢

    44 条回复    2017-04-26 09:35:24 +08:00
    reus
        1
    reus  
       2017-04-20 11:27:25 +08:00
    看《 The Go Programming Language 》
    jarlyyn
        2
    jarlyyn  
       2017-04-20 11:28:26 +08:00
    要有项目。

    项目驱动
    spider82
        3
    spider82  
       2017-04-20 11:29:25 +08:00 via iPhone
    官方 api
    awesome go
    看 github 多星项目
    不断练习
    done
    herozzm
        4
    herozzm  
       2017-04-20 11:31:17 +08:00 via Android
    shaozhengmao
        6
    shaozhengmao  
       2017-04-20 11:47:43 +08:00
    同想学,应该项目驱动更好吧
    qiyuey
        7
    qiyuey  
       2017-04-20 11:52:04 +08:00
    先看一遍圣经,然后项目驱动
    rrfeng
        8
    rrfeng  
       2017-04-20 12:15:23 +08:00
    有啥基础?
    dsg001
        9
    dsg001  
       2017-04-20 12:23:57 +08:00
    用 go 写爬虫吧
    ChristopherWu
        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
    iot
        11
    iot  
       2017-04-20 12:50:13 +08:00
    看完基础多看几个开源项目就行了,市面上也没几本书,挑几本看看就行。

    我看过《 go web 编程》《 The way to go 》然后研究常用类库,看类库源代码 或者 开源项目源代码,可能涉及到分布式、 linux c 一些知识
    byfar
        12
    byfar  
       2017-04-20 12:59:47 +08:00
    #9 +1
    没有项目驱动,那就用爬虫驱动。

    学习新语言从爬虫入手,既有成就感,又能了解基本用法。
    hornets
        13
    hornets  
       2017-04-20 13:49:51 +08:00
    郝林大大更新了一版书, go 并发编程实战第二版。
    zhengxiaowai
        14
    zhengxiaowai  
       2017-04-20 14:01:34 +08:00
    @hornets 那本就别推荐了,他的写作风格要改改了。。
    asdf330
        15
    asdf330  
    OP
       2017-04-20 14:17:21 +08:00
    @reus 正在看这个的中文版
    asdf330
        16
    asdf330  
    OP
       2017-04-20 14:22:16 +08:00
    @rrfeng 工作中用 perl 、 java ,现在打算学 go 或 python
    asdf330
        17
    asdf330  
    OP
       2017-04-20 14:23:22 +08:00
    @ChristopherWu 不错不错,两个一起学
    asdf330
        18
    asdf330  
    OP
       2017-04-20 14:24:03 +08:00
    @all 多谢各位指点 我先看看圣经
    rrfeng
        19
    rrfeng  
       2017-04-20 14:31:29 +08:00
    有编程基础就直接看圣经啊,看圣经的好处是对一个语言的基础有所了解,不要去看 xxx web 编程, xxx 并发实战 之类的,这些属于进阶。
    圣经看到一半,甚至 1/3 ,就可以动手撸项目了,边撸边看后面的。
    admindemon
        20
    admindemon  
       2017-04-20 14:52:46 +08:00
    WildCat
        21
    WildCat  
       2017-04-20 14:54:51 +08:00 via iPhone
    @reus +1 这本书我有英文原版,觉得写得很好
    jarlyyn
        22
    jarlyyn  
       2017-04-20 14:55:50 +08:00
    反正我的路线吧

    1.写了个简单 mud 连接客户端(个人习惯,刚写 node 的时候也是)
    2.写了个简单爬虫
    3.重写了博客
    4.写了一个简单的组建化框架,
    5.拿来做公司内部项目。
    lovespring4
        23
    lovespring4  
       2017-04-20 17:02:44 +08:00
    @zhengxiaowai 确实感觉是,个人感觉写的没有突出重点,看完没啥收获。
    PhilC
        24
    PhilC  
       2017-04-20 17:19:46 +08:00
    @lovespring4 我看几分钟就能睡着
    mingyun
        25
    mingyun  
       2017-04-20 17:58:18 +08:00
    @Wangxf 404 ?
    alexsunxl
        26
    alexsunxl  
       2017-04-20 19:08:38 +08:00
    来说一下我的路线。
    上来接到一个需求,内部系统需要请求一些数据, 数据提供部门只给 grpc 接口。 
    然后随便挑了一个框架, beego 。 然后把 grpc 代码嵌进框架。
    写了两个星期正好赶上去参加 gopher china
    总共搞了快一个月吧。感觉现在入门了。
    代码写写删删,很快就熟悉了
    misaka19000
        27
    misaka19000  
       2017-04-20 20:02:02 +08:00
    @alexsunxl #26 请问下在真正的项目里 go 是面向对象的方式多一些还是面向过程的方式多一些?
    WildCat
        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
    scnace
        29
    scnace  
       2017-04-20 20:50:52 +08:00 via Android
    有好多干货很多的 Gitbook 没有出实体书 :(
    misaka19000
        30
    misaka19000  
       2017-04-20 21:13:44 +08:00
    @WildCat #28 3q, get it
    alexsunxl
        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
    kotokz
        32
    kotokz  
       2017-04-20 23:14:15 +08:00
    @jarlyyn 胖哥还折腾 mud 啊
    araraloren
        33
    araraloren  
       2017-04-21 09:00:07 +08:00
    @asdf330 如果不反感 python 的 tab 语法,还是建议学习 python3
    python 毕竟是一门相对完善的语言
    关于 go 的缺陷 可以参考 https://github.com/ksimka/go-is-not-good
    misaka19000
        34
    misaka19000  
       2017-04-21 09:38:48 +08:00
    @kotokz #32 mud 是啥
    zachgenius
        35
    zachgenius  
       2017-04-21 09:55:27 +08:00
    学什么 GO, 一起来玩 Erlang 啊~~erlang 的进程概念好玩的飞起. 一切皆进程, 万物皆并发
    jarlyyn
        36
       2017-04-21 10:13:21 +08:00
    @kotokz

    不了

    话说居然这里还有泥友?
    majixian621
        37
    majixian621  
       2017-04-21 10:14:38 +08:00
    最近刚开始学习 go ,已经试着用 go 来刷 leetcode,欢迎一起交流
    asen477
        38
    asen477  
       2017-04-21 10:38:48 +08:00
    @hornets 这个第一版太烂了,我买了一本,代码部分印刷,都看不清楚。。。还是在京东买的。
    spice630
        39
    spice630  
       2017-04-21 13:25:25 +08:00
    我就是边学边写,现在已经有几个能看的项目了
    https://github.com/songtianyi/wechat-go
    https://github.com/songtianyi
    julyclyde
        40
    julyclyde  
       2017-04-21 13:26:40 +08:00
    @araraloren python 的 tab 语法是错的。正确的是 4 空格
    zcljy
        41
    zcljy  
       2017-04-21 13:42:47 +08:00
    教程之后做项目 教程之后做项目 教程之后做项目 三遍够了
    8355
        42
    8355  
       2017-04-21 13:56:53 +08:00
    我是 14 年开始学的 那时候只有无闻的视频 看了以后学了 beego 写了个微信商城的项目 性能真的超级
    hornets
        43
    hornets  
       2017-04-21 15:38:34 +08:00
    @asen477 第二版是图灵出的,质量真的挺好的。
    araraloren
        44
    araraloren  
       2017-04-26 09:35:24 +08:00
    @julyclyde 喔~~没仔细研究过,我是不怎么喜欢那个东西。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4837 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 102ms UTC 05:38 PVG 13:38 LAX 22:38 JFK 01:38
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86