• 请不要在回答技术问题时复制粘贴 AI 生成的内容
chaomin1014
V2EX  ›  程序员

貌似 Golang 很火,想学一下

  •  
  •   chaomin1014 · Sep 10, 2018 · 20672 views
    This topic created in 2975 days ago, the information mentioned may be changed or developed.

    最近看很多公众号什么的在说 Golang 值得一学,有没有技术大佬推荐学 GO 语言的渠道~没学过编程。有什么学习视频或书籍可以介绍吗?谢谢啦~

    140 replies  •  2018-09-12 08:55:08 +08:00
    1  2  
    ❮ ❯
    KeatingSmith
    KeatingSmith
    Sep 10, 2018 via iPhone❤️1
    1
    书籍:Go 学习笔记 - 雨痕

    GitHub:Go 高级编程
    tourist2018
    tourist2018
    Sep 10, 2018
    2
    没学过编程不建议以 Go 入门
    WuwuGin
    WuwuGin
    Sep 10, 2018 via Android
    3
    >没学过编程
    建议买一本 c 程序设计语言开始学,不然你会什么都一知半解的。
    nullen
    nullen
    Sep 10, 2018
    4
    同意 #2 #3
    PythonAnswer
    PythonAnswer
    Sep 10, 2018 via iPhone
    5
    1 天就学会了。但是没机会用啊。哈哈。

    刷 api 搬砖干活的没机会用到。
    4u1kto
    4u1kto
    Sep 10, 2018❤️1
    6
    人云亦云入坑的大部分都要后悔,
    要意识到:
    你学的不是一门语言,你学的是整个技术范围。
    orangeade
    orangeade
    Sep 10, 2018
    7
    Go 语言相当于变形的 C 语言,先把 C 语言熟悉一下比较好
    chaomin1014
    chaomin1014
    OP
    Sep 10, 2018
    8
    @KeatingSmith 感谢~
    chaomin1014
    chaomin1014
    OP
    Sep 10, 2018
    9
    @PythonAnswer 一。。。一天就学会了吗-_-
    ghostwind
    ghostwind
    Sep 10, 2018
    10
    err != nil
    PythonAnswer
    PythonAnswer
    Sep 10, 2018 via iPhone
    11
    go 没什么花里胡哨的东西,你熟练 2 门别的,go 一天学会没问题。
    tt67wq
    tt67wq
    Sep 10, 2018
    12
    这门语言我是入职了才现学的,语法平平淡淡,如果不是为了用,那估计学起来没啥兴趣
    chaomin1014
    chaomin1014
    OP
    Sep 10, 2018
    13
    @4u1kto 那我是从 C 开始学起嘛
    @WuwuGin 好
    chaomin1014
    chaomin1014
    OP
    Sep 10, 2018
    14
    @PythonAnswer 谢谢~
    Finest
    Finest
    Sep 10, 2018
    15
    有编程基础,GO 入门挺简单
    ClutchBear
    ClutchBear
    Sep 10, 2018
    16
    没有基础, 建议学 java
    各种成熟的 java 培训体系和视频.
    clino
    clino
    Sep 10, 2018
    17
    虽然我没怎么用过 go,但是为什么学 go 要从 C 开始?
    不理解,直接学 go 会有什么障碍呢?
    yoke123
    yoke123
    Sep 10, 2018❤️2
    18
    python 也火啊 听我的 学 php 吧
    wzw
    wzw
    Sep 10, 2018 via iPhone
    19
    Go 好在哪里
    xinhangliu
    xinhangliu
    Sep 10, 2018 via Android
    20
    Go 语法太难受了
    murmur
    murmur
    Sep 10, 2018
    21
    golang 这名字你看一下啊
    lang 在日语里的话 g 是跟没有一样的
    所 golang 就是够烂
    懂了么
    --------------------------
    上面是吹牛逼
    真心不建议 go 入坑
    c 或者 c 样风格的语言 java 也好 php 也好 就算是 js 也好啊
    feverzsj
    feverzsj
    Sep 10, 2018
    22
    哪里火了?建议不要浪费生命
    chaomin1014
    chaomin1014
    OP
    Sep 10, 2018
    23
    @murmur 啊哈哈哈,够烂还行,那看来还是学一些老的语言
    @feverzsj 看好多公众号或者一些卖课的在讲
    chaomin1014
    chaomin1014
    OP
    Sep 10, 2018
    24
    @yoke123 好嘞,学最好的语言(手动狗头)
    Quarter
    Quarter
    Sep 10, 2018 via iPhone
    25
    感觉楼上有一些是强行黑
    y835L9DyC5XD09kq
    y835L9DyC5XD09kq
    Sep 10, 2018
    26
    第一门语言不要学 GO...Golang 这个语言就是默认你已经懂了编程思想,我都无法想象没有编程经验的人学 Go 会有多痛苦...
    chaomin1014
    chaomin1014
    OP
    Sep 10, 2018
    27
    @kangkang 昨天设置完环境变量就有点懵。。。
    uhayate
    uhayate
    Sep 10, 2018
    28
    @kangkang 同意。+1
    Joyboo
    Joyboo
    Sep 10, 2018
    29
    @murmur 一个名字也能黑,服你
    feverzsj
    feverzsj
    Sep 10, 2018
    30
    @chaomin1014 你可以搜下 go 的工作,不仅数量少,工资稍微高点的基本都要求精通 c++,那你还不如直接找 c++的工作
    5oiR5piv5YK76YC8
    5oiR5piv5YK76YC8
    Sep 10, 2018
    31
    这个语言就是给会 c 的人节约开发时间用的,没什么基础慎重考虑
    SuperMild
    SuperMild
    Sep 10, 2018
    32
    如果打算练好内功,走见效慢但不容易走火入魔,可稳步升级的“道家正宗”路线,建议选学 C,再学 Java,再学其他。

    如果想见效快,剑走偏锋,用各种奇招制胜,可以从 JavaScipt, Python, PHP 之中随便选一个开始学。但很快你会发现自己的招数有很多漏洞,快速入门之后,想进一步提升就很缓慢,结果还是要回头补基础。

    至于 Go,零基础的话,很难自学,除非有人手把手教你,否则不建议从 Go 入门。
    OMGZui
    OMGZui
    Sep 10, 2018 via Android
    33
    先学 c 或 java,再 go 吧
    quickma
    quickma
    Sep 10, 2018
    34
    这个语言需要,先学 C,再学 C++,再学 Java。
    6ufq0VLZn0DDkL80
    6ufq0VLZn0DDkL80
    Sep 10, 2018
    35
    Go 高级编程那书有点名不副实,不推荐
    chaomin1014
    chaomin1014
    OP
    Sep 10, 2018
    36
    @SuperMild 好,谢谢老司机~
    PureWhiteWu
    PureWhiteWu
    Sep 10, 2018
    37
    不要一上来学 go,等你有经验了在学。
    不然你学了反而不好。
    4u1kto
    4u1kto
    Sep 10, 2018
    38
    @chaomin1014 你都学 go 了,还学什么 c 啊,家里有矿时间多啊,逮着一个能写东西先
    alphadog619
    alphadog619
    Sep 10, 2018
    39
    go 语法确实难受
    brucewuio
    brucewuio
    Sep 10, 2018
    40
    func (ptr *xxx) methodName(a int,b string) string{}

    怎么样 ? 不恶心的化 可以考虑 哈哈^_^
    marcong95
    marcong95
    Sep 10, 2018
    41
    @murmur 日语里面 g 会发成グ,所以 golang 非要说是也是“够烂,咕”,你不觉得很萌么,这么萌的语言你怎么忍心黑它(滑稽
    reus
    reus
    Sep 10, 2018❤️1
    42
    不需要学 C,也不需要学 java
    别听那些自己根本就不用的人瞎说
    hujianxin
    hujianxin
    Sep 10, 2018
    43
    go 很简单的
    Tartarus
    Tartarus
    Sep 10, 2018❤️1
    44
    行尾不用再写分号,是真幸福啊
    Yoock
    Yoock
    Sep 10, 2018 via iPhone
    45
    不要听上面那些人瞎说,想学学就是了,工作很好找的
    xmge
    xmge
    Sep 10, 2018
    46
    推荐笔记项目 https://github.com/xmge/gonote
    资源很全
    xichengh
    xichengh
    Sep 10, 2018
    47
    为啥我喜欢这个语法-_-!
    Aoang
    Aoang
    Sep 10, 2018 via Android❤️3
    48
    @clino 如果你没有编程底子,直接上手就是 Golang,你根本无法理解 Golang 为什么会是这样子的,你得花大量时间去看看其他编程语言,才能理解…

    相反,你本身就会 C、C++、Java 等其他的语言,然后再去学 Golang,这种情况反而比你会 Golang,想学其他编程语言快的多。
    Golang 就是一个进化版的 C,只不过和 C++ 不同,Golang 的进化有些局限(强制性)。

    比如,Golang 支持返回多值。
    你会 Java,那么再去学 Golang 就会觉得很好用。但是你会 Golang,再去学 Java 呢?这么鬼…为什么不能返回多值…
    xuanbg
    xuanbg
    Sep 10, 2018
    49
    没有点 C/C++基础,学起来是比较累的。有基础的话,官方教程就足够了,三天包会。
    gamecreating
    gamecreating
    Sep 10, 2018
    50
    正在实际项目中使用.....有些坑...不过总体还好
    d18
    d18
    Sep 10, 2018
    51
    同意 48 楼,golang 简直就是 better c。
    学 golang,有没有 c 语言底子,感觉真的是不一样的。
    不懂 c,充其量不过是又学了一堆语法,和学 python,js 并没有什么区别。
    只有写过 c,知道 c 的痛点,c 轮子的匮乏,再去看 golang,才会明白 golang 为什么是这个样子,为什么这样设计,等等。
    clino
    clino
    Sep 10, 2018
    52
    @Aoang 我的问题就是,我认为学 C 的成本比学 Golang 更高,上面让楼主先去学 C 再学 Go 的我觉得不如直接学 Go,不理解为什么会有这种建议...
    clino
    clino
    Sep 10, 2018
    53
    @Aoang 作为第一个语言来学习的初学者要去思考语言为什么要设计成这样干嘛?先接受了用起来再说.
    你让人先学 C/Java 的意思是先弄个更难用的看看你就能理解 Go 了? 不理解这种思维...
    reus
    reus
    Sep 10, 2018
    54
    @Aoang 学语言是为了用,不是为了理解它为什么是这个样子。难道你学 java,就能理解它为什么会是这样子?
    reus
    reus
    Sep 10, 2018
    55
    推荐这本书: https://book.douban.com/subject/27044219/
    不用看其他的了。
    SuperMild
    SuperMild
    Sep 10, 2018
    56
    @reus 这本书的内容少得可怜,就把基本语法说一遍,例子又少又过于简单,总体上还比不上官网上的内容(并且与官网内容有大量重叠)。如果本来就懂编程,学这本是够了,如果完全零基础,只学这本绝对处于非常迷惘的状态,最多写个判断闰年、或者 word count 简单版,已经是极限了。
    reus
    reus
    Sep 10, 2018
    57
    @SuperMild 难道学 java 学 C,看完一本书就能学会更多?
    nitro123
    nitro123
    Sep 10, 2018
    58
    官网指南不是挺好的?
    lin07hui
    lin07hui
    Sep 10, 2018
    59
    如果语言 0 基础的话,建议直接学 go。如果只是模糊学过几门,没有精通两三门,则学 go 会非常困难。学习 go 建议先看官方指引 https://tour.go-zh.org/welcome/1
    0nlyy0u
    0nlyy0u
    Sep 10, 2018
    60
    2 天就上手了,现在在做项目了
    ftu
    ftu
    Sep 10, 2018 via iPhone
    61
    那还不如直接上 python 之后会越来越流行
    GG668v26Fd55CP5W
    GG668v26Fd55CP5W
    Sep 10, 2018 via iPhone
    62
    哪有那么多破事,喜欢就学。
    blless
    blless
    Sep 10, 2018 via Android
    63
    直接学吧,不懂再翻,本来就是一个循序渐进的过程,c 的基础看完黄花菜都凉了
    to2false
    to2false
    Sep 10, 2018
    64
    @murmur 为什么不是直接读成够浪呢
    ShiyanlouCleaner
    ShiyanlouCleaner
    Sep 10, 2018
    65
    这个打开网页就可以动手写代码练习啦,是入门的课程: https://www.shiyanlou.com/courses/11
    Doodlister
    Doodlister
    Sep 10, 2018 via Android
    66
    @WuwuGin 看 K&R 那本书需要有数据结构基础
    mritd
    mritd
    Sep 10, 2018 via iPhone
    67
    现在又到了 "php 是世界上最好的语言" 的时候,感觉一群 xx,楼主想学的话没必要非得从 c 开始(我怕你用力过猛),不论最好从一个后台编译型语言开始,直接学也无所谓,还有 整个容器领域大部分都是 go,剩下的不多说了
    xiaqi
    xiaqi
    Sep 10, 2018 via Android
    68
    @brucewuio 以前吧,我是觉得挺难看的。不过现在嘛,我是觉得这语法挺好看的🌚🌚
    Aoang
    Aoang
    Sep 10, 2018 via Android
    69
    @clino 因为 Golang 独立特行,所以才推荐先学其他语言。它的很多特性都是参照其他语言优缺点来制定的。

    先学 C 对于基础会理解的比较深刻,后面学习其他的语言都会快很多,而 Golang 本来就简单,有基础的人差不多一天就能上手。

    不先学 Golang 是因为它对于没有基础的人来说不够简单,上手也并不快,但却也不够底层,几乎毫无优势。Golang 的教程也有太多一带而过的概念,这些你让人去哪儿补?

    学习成本高不高是看你要学到什么程度,只要求上手,为什么不学 Python ?

    想学 Golang,先学 C。想入门,学 Python。
    Aoang
    Aoang
    Sep 10, 2018 via Android
    70
    @reus 学一门语言是为了使用,但是编程这条路,省下来的,迟早要还的。
    jason94
    jason94
    Sep 10, 2018
    71
    之前花了一周学完了,但是没时间用,过几天就忘光光了
    fleam
    fleam
    Sep 10, 2018 via iPhone
    72
    学 go 不如学 c
    kran
    kran
    Sep 10, 2018
    73
    想弄一个只有一个文件方便部署的 blog 程序, 所以就弄了一下 go, 没想到很快搞定了
    相信你学起来也会很容易的.
    ioven
    ioven
    Sep 10, 2018
    74
    python 入门,为了学 go 又去啃了 c
    p1gd0g
    p1gd0g
    Sep 10, 2018
    75
    来吧,rust。
    rickiey
    rickiey
    Sep 10, 2018 via Android
    76
    当你会 c++时学其他语言很快的,我目前的需要技能树 c/c++,java,python,ruby,golang,js 主要用 java,ruby 其他不熟练,但是看得懂,能写个小工具
    clino
    clino
    Sep 10, 2018 via Android
    77
    @Aoang 你要说学 python 成本比 go 低我认同,但是学 C Java 之类的成本比 go 低我就不同意了

    学 C 真的比 Go 简单?
    zjj19950716
    zjj19950716
    Sep 10, 2018 via iPhone
    78
    @ioven 我也是 python 入的门 现在工作用 go 不过没看过 c
    monlite
    monlite
    Sep 11, 2018
    79
    懂 C 的话,go 里面的一些概念确实比较容易理解,不过没有必要为了学 go 先去学 C。初学 go,推荐从 web 入手,推荐谢大的《 Go Web 编程》。官方的《 A Tour of Go 》,《 Go by Example 》也都是不错的 Hands-on 教程,深入的话可以看看雨痕的《 Go 学习笔记》
    twl007
    twl007
    Sep 11, 2018 via iPhone
    80
    所以学 java 之前要先去学一下 c++ 然后才能理解为什么 java 这么设计解决了 c++的哪些问题这个意思?
    markx
    markx
    Sep 11, 2018
    81
    如果没学过编程,是不是应该先学编程? 编程入门的话用 python 可能比较好吧?
    wspsxing
    wspsxing
    Sep 11, 2018 via Android
    82
    2 出来了再学或许更好,doge
    hrong
    hrong
    Sep 11, 2018 via Android
    83
    @Aoang golang 的怎么个不够底层?愿闻其详
    ioven
    ioven
    Sep 11, 2018
    84
    @zjj19950716 《嗨翻 C 语言》翻一遍很快,然后《 The Way to Go 》,基本就可以开始敲代码了
    miniliuke
    miniliuke
    Sep 11, 2018 via Android
    85
    我觉得应该从 java 入门,java 中规中矩的面对对象,又没有一堆花里胡哨的东西,库和内置库也很丰富......golang 的话太特立独行了,错误处理、接口和面对对象、多线程( go )通信( chan ),怎么想 golang 都不适合入门吧,入门还是选个 java 这样的吧
    88250
    88250
    Sep 11, 2018
    86
    Go 边看边练 -《 Go 学习笔记》系列 https://hacpai.com/article/1437497122181
    artandlol
    artandlol
    Sep 11, 2018
    87
    从 1 楼到 86 楼了 我已经学会了 golang 你们还在 bb
    realpg
    realpg
    Sep 11, 2018
    88
    学个语言还要公众号还要教程么
    找手册 找点实例代码 再看看 github 别人写的简单项目 不就毁了
    zichen
    zichen
    Sep 11, 2018
    89
    学语言主要还是看你的方向,go 的优势就是既能像 java 那样写业务,也能像 c 一样写一些底层基础服务或者中间件,如果你要是只写业务代码,java 就够了,毕竟写业务代码的工作比写底层基础服务和中间件的工作好找多了。另外有其他语言的基础或者工作经验的话,确实学起来更快。
    chengkai1853
    chengkai1853
    Sep 11, 2018
    90
    头一次听说别人要学一门语言,叫别人先去学其他语言的。前期叫别人再去学另外一门,增加了复杂度不说。到时候两门都不熟悉,混乱。有些东西是可以在之后多写多看中学习到的!要把 C 理解到一定程度再学 go ?那还是放弃吧
    Aoang
    Aoang
    Sep 11, 2018 via Android
    91
    @hrong 嵌入式。

    在学习使用上,垃圾回收、指针、闭包、运行机制等等。
    mengzhuo
    mengzhuo
    Sep 11, 2018
    92
    @clino C 跟 Go 很像,毕竟是一拨人设计的
    Aoang
    Aoang
    Sep 11, 2018 via Android
    93
    @clino 你并没看懂我的意思。

    C 的难度是公认的,Golang 的简单也是公认的。
    但是对于一个没有基础的人来说,学会了 Golang,本身编程就会遇到很多坑,但是只学习 Golang 坑更多。

    Golang 可以看作是 C 的填坑加强版,不学 C,切片、内存分配、数组等等有多少是 Golang 直接帮你解决的?没有基础的人要么需要花费时间去了解,要么被坑了花费更多的时间去填坑。
    SuperMild
    SuperMild
    Sep 11, 2018
    94
    @chengkai1853 推荐先学别的语言,主要因为 LZ 是编程零基础,学语言当然可以直接学,但 LZ 的情况,其实更重要的是学编程,而不是单纯地学语言。作为零基础进入编程世界的第一门语言,Go 不是很合适。
    Keyes
    Keyes
    Sep 11, 2018 via iPhone
    95
    @zichen 写业务真不咋地,复杂度上来外加人多以后还是 OO 比较不容易把代码搞乱
    myyou
    myyou
    Sep 11, 2018
    96
    不要听楼上的人瞎说,根本不用先学 c 和 java,当然有其他语言经验更好,如果你喜欢 golang 就直接学。还有楼上推荐 js 的更是误人子弟,js 直到今天只不过是在一坨屎上添加一些语法糖而已,新手还是少碰。
    lrz0lrz
    lrz0lrz
    Sep 11, 2018
    97
    别听楼上瞎说,学 golang 先学 C ?那么学 C 要不要先学汇编?
    y835L9DyC5XD09kq
    y835L9DyC5XD09kq
    Sep 11, 2018
    98
    建议直接学 golang 的才是误人子弟,请问 golang 哪个教程有教你指针什么意思?都是默认你知道了好吗。
    这样楼主看到一堆指针怎么 make sense ?不能理解还能继续学?合着你们学语言用背的?
    myyou
    myyou
    Sep 11, 2018
    99
    @kangkang golang 不是 c/c++ 没有指针,你完全可以把“*”和“&”理解为解包和引用。
    clino
    clino
    Sep 11, 2018
    100
    @Aoang 我一直针对的是学 Go 要先学 C 的论调,这真是一个很奇怪的说法

    "Golang 可以看作是 C 的填坑加强版,不学 C,切片、内存分配、数组等等有多少是 Golang 直接帮你解决的?"
    确实看不懂,你的意思是学 Go 一定要了解"切片、内存分配、数组"是如何实现的?
    那学 Python 是不是要把 CPython 的实现了解一遍?
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5022 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 253ms · UTC 01:34 · PVG 09:34 · LAX 17:34 · JFK 20:34
    ♥ Do have faith in what you're doing.