2019 年,有没有必要学 Go? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
RingoTC
V2EX    程序员

2019 年,有没有必要学 Go?

  •  
  •   RingoTC 2019-12-02 16:9:39 +08:00 via Android 14048 次点击
    这是一个创建于 2139 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想做后端,想把 Go 作为第一开发语言。国内这样的工作机会和应用场景多吗?

    86 条回复    2019-12-04 10:38:52 +08:00
    jxxz
        1
    jxxz  
       2019-12-02 16:21:24 +08:00
    插个眼,看看大佬的回复
    woshifyz
        2
    woshifyz  
       2019-12-02 16:23:14 +08:00
    学肯定没错,也不难
    至于能不能作为第一开发语言,看你的公司了,国内互联网圈还是很多的

    不过很少人会因为你用什么语言决定是不是要你,你要水平不够,什么语言都没用
    janxin
        3
    janxin  
       2019-12-02 16:25:59 +08:00
    还可以,目前主要工作机会除了技术栈在 Go 的公司以外云原生开发是离不开 Go 的

    要么学习一下世界上最好的语言 Java ?
    changdy
        4
    changdy  
       2019-12-02 16:40:32 +08:00
    java 可以学习下 kotlin. 后端也可以使用
    go 暂时没有想法, 下一步准备学习 erlng 最近 erlang 被吹的有点多
    waising
        5
    waising  
       2019-12-02 16:42:39 +08:00
    @changdy #4 最近不是 rust 吗。。
    Hanggi
        6
    Hanggi  
       2019-12-02 16:45:30 +08:00
    @waising Rust 定位不同,应用范围没有 Go 语言来的广泛。Go 语言更像是在蚕食 JAVA 的份额。
    securityCoding
        7
    securityCoding  
       2019-12-02 16:49:00 +08:00   1
    一般问哪个语言要不要学的同学最后基本都不会学....所以不要问,直接学~~
    changdy
        8
    changdy  
       2019-12-02 16:50:03 +08:00   2
    哈哈 我看到了 这篇文章. 不得不说 心动了
    https://juejin.im/post/5d7a1fba51882520d46ac0ed
    @waising
    mikulch
        9
    mikulch  
       2019-12-02 16:50:08 +08:00
    成都这边除了 java 其他语言的后端很难找工作。
    RingoTC
        10
    RingoTC  
    OP
       2019-12-02 16:51:37 +08:00 via Android
    @securityCoding 哈哈,因为我以前是做前端的。对后端的技术栈不是很了解,就会点 Python。现在想转后端,在 Java 和 Go 里面犹豫
    Leonard
        11
    Leonard  
       2019-12-02 16:52:01 +08:00
    找工作就不要,自己玩随意,大佬随意
    waising
        12
    waising  
       2019-12-02 16:59:35 +08:00   1
    @RingoTC #10 java 工程师 推荐 go
    14v45mJPBYJW8dT7
        13
    14v45mJPBYJW8dT7  
       2019-12-02 17:00:56 +08:00   1
    用过之后比 python 还香
    Rwing
        14
    Rwing  
       2019-12-02 17:18:54 +08:00   1
    chuhemiao
        15
    chuhemiao  
       2019-12-02 17:24:34 +08:00
    go 夜读一把梭
    zjsxwc
        16
    zjsxwc  
       2019-12-02 17:27:25 +08:00 via Android
    学啊,相信我 go 超简单,超好用的
    loading
        17
    loading  
       2019-12-02 17:32:24 +08:00 via Android
    没必要,2020 年再说,哈哈。
    blless
        18
    blless  
       2019-12-02 17:34:13 +08:00
    学啊 Go 又没啥心智负担,有 C 基础基本不用专门学,看点语法直接上手撸就是,你要是 Go 都学不进去。。可能要担心一下了
    beckyao
        19
    beckyao  
       2019-12-02 17:34:35 +08:00
    @chuhemiao 看的哪本书一把梭的
    raincode
        20
    raincode  
       2019-12-02 17:38:09 +08:00
    摒弃之前的语言思路,这样学的更快
    BlackSas
        21
    BlackSas  
       2019-12-02 17:40:30 +08:00
    我说没必要你就不学了吗
    lake325
        22
    lake325  
       2019-12-02 17:41:58 +08:00
    lidfather
        23
    lidfather  
       2019-12-02 17:42:59 +08:00
    没必要,学 go 就像学 css 一样简单
    luozic
        24
    luozic  
       2019-12-02 17:53:20 +08:00
    go 写起来没啥问题,主要是调优和 profile 需要单独学习一下,语法比其他语言简单多了。
    Acoolda
        25
    Acoolda  
       2019-12-02 17:54:07 +08:00   1
    talk is cheap, show me your code!
    cco
        26
    cco  
       2019-12-02 17:57:31 +08:00
    目前正在学习 Go,有其他语言基础相对来说稍微快点,不好的一点就是学完就忘了。
    syncnano
        27
    syncnano  
       2019-12-02 17:59:28 +08:00
    java 工程师,大略的看过一遍 go 感觉还很容易上手。自己一直想倒腾前端但是迫于技术栈实在太大完全不知道怎么上手
    RingoTC
        28
    RingoTC  
    OP
       2019-12-02 18:06:46 +08:00 via Android
    @gtexpanse 或许稍微看一下基础知识,直接上手做 demo 会好一些?
    egen
        29
    egen  
       2019-12-02 18:26:35 +08:00
    go 撸一遍也就一两个星期的事情,上手快得很,你思考这个问题的时间都够你学习了
    Clarke
        30
    Clarke  
       2019-12-02 18:26:56 +08:00 via Android
    反正我已经学了
    trustbutverify
        31
    trustbutverify  
       2019-12-02 18:28:25 +08:00 via Android
    有类 C 语言基础 Go 入门还是很快的
    wo642436249
        32
    wo642436249  
       2019-12-02 18:28:38 +08:00 via Android
    看具体哪方面后端了,就做 web 开发用 php 就行了
    xuanbg
        33
    xuanbg  
       2019-12-02 18:29:45 +08:00
    没有学,但早就在用了
    hjw45611
        34
    hjw45611  
       2019-12-02 18:40:08 +08:00
    没必要,只有不到一个月了,老哥还是问 2020 年有没有必要学吧。。
    xzg
        35
    xzg  
       2019-12-02 19:21:34 +08:00
    对啊 再等等就 2020 年了 哈哈哈哈
    xiebruce
        36
    xiebruce  
       2019-12-02 20:10:31 +08:00
    2019 年就没必要了,剩不到一个月了,还是 2020 年再学吧
    fox0001
        37
    fox0001  
       2019-12-02 20:18:15 +08:00 via Android
    目前,作为第二语言可以
    kernelpanic
        38
    kernelpanic  
       2019-12-02 20:31:19 +08:00
    举个例子,你写了个函数检测某个 ip 的一个端口是否开放 func testPort(ip:port){}
    现在一个 txt 里面有 1 万个 ip,端口需要检测
    如果用 python,Java 之类的语言,你需要搞一大堆多线程的代码,而且在 python 里由于 GIL 的缘故,多线程性能也很差。。。
    但是在 go 里你只需要在函数前面加个 go 关键字就可以了!!
    for scanner.Scan() {
    go testPort(scanner.Text())
    }
    如此简单,而且性能超级强大!!还有什么理由不学呢
    Cryse
        39
    Cryse  
       2019-12-02 20:44:57 +08:00
    没有专门学,但是发现做小工具非常好用,毕竟跨平台方便,目标系统上不用装一堆依赖包
    LancerEvo
        40
    LancerEvo  
       2019-12-02 21:05:14 +08:00
    想学就学 让你公司全部转型到 go 不可能
    qile1
        41
    qile1  
       2019-12-02 21:27:00 +08:00 via Android
    就是做 gui 界面没法弄
    charlie21
        42
    charlie21  
       2019-12-02 21:46:59 +08:00 via Android
    已经告别 golang 了 … 学 golang 吧, 学完就失业。
    sdot96
        43
    sdot96  
       2019-12-02 22:17:34 +08:00 via Android
    学了……不过感觉开发速度比不上 Python。。。然后小公司又看重开发速度,对于性能倒不怎么关心
    SpringCloser
        44
    SpringCloser  
       2019-12-02 22:17:42 +08:00
    面向找工作学语言的话,拉钩 boss 直聘等网站上搜搜就知道了,学着玩的话学那个也可以
    jigi330
        45
    jigi330  
       2019-12-02 22:18:12 +08:00
    个人觉得后台第一语言还是 java,生态好多了。
    go 想转随时可以转,可以作为第二个备选。
    useben
        46
    useben  
       2019-12-02 23:09:54 +08:00
    docker,k8s,etcd 等都用 go 写的,云原生时代,为何不学呢
    dodo2012
        47
    dodo2012  
       2019-12-02 23:35:37 +08:00
    go 还是很简单的,我个人更喜欢 rust,但可能我一直用动态语言多的原因吧,rust 学起来太陡了,写完就是'a 'b 'c 一大片,看不习惯,又老实用 go 了
    ggicci
        48
    ggicci  
       2019-12-02 23:40:15 +08:00
    学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学学
    TypeError
        49
    TypeError  
       2019-12-02 23:41:00 +08:00 via Android
    @kernelpanic Python 网络相关的操作都推荐协程用 async await 了,不过 go 确实简单
    hakono
        50
    hakono  
       2019-12-02 23:43:01 +08:00 via iPhone
    @kernelpanic 这个就是协程啊。python 也支持的。。。。
    java 通过第三方包也能做到一定的功能

    但是 go 的确是创建协程最轻松的
    DelayNoMore
        51
    DelayNoMore  
       2019-12-02 23:56:38 +08:00
    不用学,已经在用 go 开发了,不过目前是中间件+CRUD
    ArJun
        52
    ArJun  
       2019-12-03 00:30:58 +08:00
    如果没有实际应用,学完也会忘
    fa93hws
        53
    fa93hws  
       2019-12-03 07:34:56 +08:00
    至少 terraform 的插件得用 Go 写。
    虽然 terraform 很不好用,但是至少目前它还是同类产品里最好用的。。。
    airfling
        54
    airfling  
       2019-12-03 08:08:46 +08:00   1
    其实应该是先生活,再兴趣。所以你可以先学个 java 之类的,之后有时间再学 go。我就是先注 java 开发,go 渐渐升温后花了一周左右就入门了 go,其实准换很快
    gramyang
        55
    gramyang  
       2019-12-03 08:55:18 +08:00
    说 go 和 php 一样简单的怕是有什么误区? go 语法虽然精炼,包虽然封装的好,但是仍然是静态语言,你后端需要考虑的因素一个不少。
    另外学 go 这种语言还有什么好犹豫的?我还准备 2019 年跳坑 c++呢
    zunceng
        56
    zunceng  
       2019-12-03 09:19:13 +08:00
    @jigi330
    golang 的生态是 k8s 云原生
    java 的生态都在阿里
    sudodo
        57
    sudodo  
       2019-12-03 09:19:46 +08:00
    c,java,go,python 有机会最好都学一下,至少再精通一门
    hopingtop
        58
    hopingtop  
       2019-12-03 10:11:07 +08:00
    Go 虽然是如大佬们所言简单简单。。。
    但是其实也只是入门和语法简单而已,里面还是有很多的门道。
    想写出开源项目那种优秀代码示例也不容易吧,涉及到的东西很多。
    个人觉得 Go 入门简单,往深了去,哪个语言都一样。
    hopingtop
        59
    hopingtop  
       2019-12-03 10:12:10 +08:00
    想作为第一语言最好是先看下所处物理位置的市场情况,不然选择性很尴尬!
    xmge
        60
    xmge  
       2019-12-03 10:12:24 +08:00
    gopher 大会上,探探高级工程师说,go 上手两天。

    我已用了两三年了。
    yuankui
        61
    yuankui  
       2019-12-03 10:23:38 +08:00
    开拓眼界可以,找工作,目前还是不如爪哇
    mikicomo
        62
    mikicomo  
       2019-12-03 10:27:59 +08:00
    java / go 都在用,挺香的,python 反而不是很喜欢了,每次写都拿出来重新温习一遍语法,难受

    我觉得前端挺难= =,不敢深入涉猎,溜了
    chuhemiao
        63
    chuhemiao  
       2019-12-03 10:37:39 +08:00
    dixeran
        64
    dixeran  
       2019-12-03 10:45:47 +08:00 via Android
    我建议先 java,把后端是什么,做什么,用什么东西这些问题在 java 这个已经非常成熟的既有体系下面搞清楚。Go 目前还处在一点一点补齐上面那些设施的阶段。
    mrtrying
        65
    mrtrying  
       2019-12-03 11:18:16 +08:00
    @dixeran 作为一个搞 android 也是这么想的
    durban126
        66
    durban126  
       2019-12-03 11:27:00 +08:00
    什么火学什么就对了,不然会被技术淘汰的
    durban126
        67
    durban126  
       2019-12-03 11:27:24 +08:00
    保持一个学习的心态,你会觉的你可以拯救世界
    cmdOptionKana
        68
    cmdOptionKana  
       2019-12-03 11:33:37 +08:00
    go 语言本身很简单易学,这是 go 的设计理念之一,并且很好地实现了。

    往深里学就设计各种计算机原理、网络原理,这部分是各种语言相通的。
    CosimoZi
        69
    CosimoZi  
       2019-12-03 12:30:58 +08:00
    新时代的 php
    pain400
        70
    pain400  
       2019-12-03 12:33:31 +08:00
    go 有什么好的框架吗
    hijoker
        71
    hijoker  
       2019-12-03 12:43:43 +08:00
    @mikulch 说的太对了
    6ufq0VLZn0DDkL80
        72
    6ufq0VLZn0DDkL80  
       2019-12-03 13:02:38 +08:00
    没必要,别学了
    yonoho
        73
    yonoho  
       2019-12-03 13:02:42 +08:00
    我司
    Q1: 为什么我们不会引入 Go 作为开发语言的选项
    Q4: 真香
    HarrisonZ
        74
    HarrisonZ  
       2019-12-03 13:30:07 +08:00
    go 没有啥学习负担,入门快。真的认真学的话推荐 Rust
    leekafai
        75
    leekafai  
       2019-12-03 13:42:31 +08:00
    [language]也就图一乐,真要开发[project name]还得看[language]
    liliumss
        76
    liliumss  
       2019-12-03 13:56:44 +08:00
    学啥语言其实是次要的 关键是内功要好,这些语言之后的原理,计算机科学的基础要好
    libook
        77
    libook  
       2019-12-03 14:26:05 +08:00
    Go 学一下也就花你一周的时间。
    选语言是选工具,不是选归宿,多学几门也没啥坏处。
    woodongwong
        78
    woodongwong  
       2019-12-03 14:50:58 +08:00
    @changdy 准备学习 elixir
    sgissb1
        79
    sgissb1  
       2019-12-03 15:17:19 +08:00
    看市场,所在劳动力市场有这个需求就学,没有就拉倒。

    我其实根本不想去碰,都是工作所迫。
    will1234
        80
    will1234  
       2019-12-03 16:26:03 +08:00
    有必要学,我也正在学。
    will1234
        81
    will1234  
       2019-12-03 16:29:05 +08:00
    go python java 至少要会 2 门吧 驰狼课堂有免费的可以学 还行。
    zhangdszq
        82
    zhangdszq  
       2019-12-03 17:14:17 +08:00
    插眼
    fhy1994
        83
    fhy1994  
       2019-12-03 17:41:47 +08:00
    php python go 我都要
    ma836323493
        84
    ma836323493  
       2019-12-03 18:23:34 +08:00 via Android
    就那语法,我难受
    mamahaha
        85
    mamahaha  
       2019-12-04 08:02:39 +08:00 via Android
    那些说 go 简单的你到底学没学?
    hongzz
        86
    hongzz  
       2019-12-04 10:38:52 +08:00
    phper 正在学 golang,,感觉 go 强大威武
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     6108 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 03:17 PVG 11:17 LAX 20:17 JFK 23:17
    Do have faith in what you're doing.
    ubao 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