从 17 年开始学习 go 的,之前是做 java 开发的,刚开始写 go 的时候,我去,怎么不写 “;”,这么不严谨,不过 go 起来挺舒服的,直接写方法也挺舒服的,后来有次又写 java,我去,为啥要写 “;”。
大家都是为什么学习 go 啊。用一句话概括一下,为什么一句话,因为一句话才是精华啊。
     1 
                    
                    shoaly      2020-05-07 12:52:00 +08:00    我觉得 go 的优势只有一个, 打包出来就是一个执行文件, 真正的 write once, run anywhere 
                 | 
            
     2 
                    
                    qq1340691923      2020-05-07 12:57:20 +08:00 
                    
                    协程 
                 | 
            
     3 
                    
                    gunavy      2020-05-07 12:58:19 +08:00 
                    
                    面向对象的 c 
                 | 
            
     4 
                    
                    LokiSharp      2020-05-07 12:58:35 +08:00 
                    
                    不学 
                 | 
            
     5 
                    
                    lazydog      2020-05-07 12:59:28 +08:00 via Android 
                    
                    工作需要 
                 | 
            
     6 
                    
                    tikazyq      2020-05-07 13:01:12 +08:00 
                    
                    香 
                 | 
            
     7 
                    
                    zxc12300123      2020-05-07 13:04:31 +08:00 via iPhone    因为只会 python 要学一门静态语言 
                 | 
            
     8 
                    
                    simapple      2020-05-07 13:12:38 +08:00 
                    
                    玩 
                 | 
            
     9 
                    
                    Vegetable      2020-05-07 13:13:43 +08:00    跟风 
                 | 
            
     10 
                    
                    fang2hou      2020-05-07 13:15:56 +08:00 
                    
                    1. 跨平台的时候很方便,执行文件发给别人直接运行。 
                2. 协程上手容易。 3. 强制格式化,便于阅读他人代码。  | 
            
     11 
                    
                    sadfQED2      2020-05-07 13:18:16 +08:00 via Android    因为钱 
                 | 
            
     12 
                    
                    lhx2008      2020-05-07 13:20:31 +08:00 via Android 
                    
                    最大的动力还是公司要求,JAVA 的跨平台性明显更强 
                 | 
            
     13 
                    
                    leoleoasd      2020-05-07 13:24:53 +08:00 
                    
                    在编译型语言里, 跨全平台, (go mod)包管理器做的不错, 标准库和第三方库都很多的也只有 go 了吧? 
                还有协程太香  | 
            
     14 
                    
                    AngryMagikarp      2020-05-07 13:26:23 +08:00 
                    
                    因为 Go 是综合开发效率和运行效率最好的语言。 
                楼上说跨平台的,毫无意义,你们家部署的 JAVA 经常 Windows 、Linux 来回切换吗。  | 
            
     15 
                    
                    zjsxwc      2020-05-07 13:27:11 +08:00    没有泛型不想用 golang,逃 
                 | 
            
     16 
                    
                    teawithlife      2020-05-07 13:28:46 +08:00    初期:闲着没事,随便找门带 gc 的语言学学 
                入门:交叉编译和单文件执行太惊艳了 了解:我居然敢去看其他大佬的源码,而且居然一看就看懂了,顺手提个 PR 吧  | 
            
     17 
                    
                    6IbA2bj5ip3tK49j      2020-05-07 13:29:57 +08:00 
                    
                    说 Go 开发效率的,我怀疑是不是只写过 C 或者汇编之类的。 
                 | 
            
     18 
                    
                    damngood      2020-05-07 13:30:55 +08:00 
                    
                    简单明了的方式把事情搞定的能力... 
                 | 
            
     19 
                    
                    AngryMagikarp      2020-05-07 13:31:14 +08:00 
                    
                    说"说 Go 开发效率的,我怀疑是不是只写过 C 或者汇编之类的。" 的我怀疑小学语文没有毕业。 
                 | 
            
     20 
                    
                    hankai17      2020-05-07 13:32:21 +08:00 
                    
                    把面向回调编程 变成 同步 /阻塞式编程 
                 | 
            
     21 
                    
                    shoaly      2020-05-07 13:32:43 +08:00 
                    
                    @AngryMagikarp 并不光是网站, 还有很多 场景是给客户用的....  你给 1 客户去装个 java 运行时不烦, 你给 100 个客户装 你就烦了... 这个时候 丢一个 go 运行文件给他 不香么 
                 | 
            
     23 
                    
                    kneep      2020-05-07 13:33:34 +08:00 via iPhone 
                    
                    高层语言的手感,底层语言的效率 
                 | 
            
     24 
                    
                    hantsy      2020-05-07 13:36:12 +08:00 
                    
                    从企业开发需求角度,GO 属于还没进化过来的语言。 
                 | 
            
     25 
                    
                    foreverfuck      2020-05-07 13:39:22 +08:00    工资高,别说那些有的没的,钱多就行了。 
                 | 
            
     26 
                    
                    cabing      2020-05-07 13:40:51 +08:00 
                    
                    简单粗暴:) 逃。。 
                 | 
            
     27 
                    
                    zzzzzzggggggg      2020-05-07 13:43:04 +08:00 
                    
                    因为想学就学 
                 | 
            
     28 
                    
                    justin2018      2020-05-07 13:43:44 +08:00 
                    
                    看你们都在说 看你们都在学 于是 我也学了 😁 
                 | 
            
     29 
                    
                    sunmker      2020-05-07 13:53:19 +08:00    因为有人在吹,所以想学 
                 | 
            
     30 
                    
                    dilu      2020-05-07 13:58:19 +08:00 
                    
                    楼上一大堆优点,归根结底一个字:钱 
                 | 
            
     31 
                    
                    DelayNoMay      2020-05-07 13:59:05 +08:00 
                    
                    此时默默走过一名帅气的 golang 工程师 
                 | 
            
     32 
                    
                    lithbitren      2020-05-07 14:01:38 +08:00 
                    
                    rust 太费劲 
                 | 
            
     33 
                    
                    TypeError      2020-05-07 14:02:47 +08:00 
                    
                    有人用,没人用的语言就懒得学了 
                 | 
            
     34 
                    
                    index90      2020-05-07 14:03:33 +08:00 
                    
                    简单,方便 
                 | 
            
     35 
                    
                    gamexg      2020-05-07 14:04:26 +08:00 
                    
                    编译后单文件,之前各种依赖库实在头大,go 解决了这个麻烦。 
                协程,避开了回调地狱。 内置交叉编译支持,可以轻松编译出来多个平台下的代码。  | 
            
     36 
                    
                    wangyzj      2020-05-07 14:04:33 +08:00 
                    
                    用来替代 c++ 
                 | 
            
     37 
                    
                    DGideas      2020-05-07 14:06:21 +08:00 
                    
                    好玩,写了很多年别的编程语言了,学习一门新语言有一种(工程上的)新鲜感 
                 | 
            
     38 
                    
                    purensong      2020-05-07 14:07:25 +08:00 
                    
                    我觉得 go 代码风格不错,变量和类型我们通常在 java 里都是 int  a,在 go 里面反过来,而且 go 的闭包也更加容易,写个多线程 go 一下就可以,通过通道在线程间传递变量很容易。自学了几天 go,还是老老实实工作写 java 了,害怕哪天代码出事故 
                 | 
            
     40 
                    
                    cnbattle      2020-05-07 14:08:27 +08:00 
                    
                    多年 phper, 想多会一门语言,中间断断续续尝试 java python 都在基础语法相关的学习中不舒服不习惯放弃了,知道两年前了解到 go,一直很舒服。。。可惜 昆明几乎没有公司主力用 go 的。。。 
                 | 
            
     43 
                    
                    jin7      2020-05-07 14:14:17 +08:00    宁学 c++也不想学 go 狗头保命 
                 | 
            
     44 
                    
                    ConradG      2020-05-07 14:15:32 +08:00 
                    
                    一句话:听说 go 的协程挺不错。 
                然后学过后觉得……作为 C 的应用软件开发侧的增强算是合格的,但也就仅此而已,目前 go 的工程能力还是有欠缺。  | 
            
     45 
                    
                    dayeye2006199      2020-05-07 14:16:26 +08:00 
                    
                    因为需要用开发 k8s 相关。 
                 | 
            
     46 
                    
                    aliensb      2020-05-07 14:28:53 +08:00 
                    
                    不想写 python 了。。。 
                 | 
            
     47 
                    
                    hxtheone      2020-05-07 14:28:54 +08:00 
                    
                    协程太香 
                 | 
            
     48 
                    
                    hideinbush      2020-05-07 14:30:06 +08:00 
                    
                    @jin7 +1 
                 | 
            
     50 
                    
                    yukiloh      2020-05-07 14:33:23 +08:00 via Android    满屏幕 if nil 
                go mod1.13 之前简直灾难 如果没有七云牛我都不知道怎么下依赖  | 
            
     52 
                    
                    hideinbush      2020-05-07 14:35:39 +08:00    我初学诗日,但欲工藻绘; 
                中年始少悟,渐若窥宏大。 怪奇亦间出,如石漱湍濑。 数仞李杜墙,常恨欠领会。 元白才倚门,温李真自郐。 正令笔扛鼎,亦未造三昧。 诗为六艺一,岂用资狡狯? 汝果欲学诗,工夫在诗外。  | 
            
     53 
                    
                    defunct9      2020-05-07 14:38:27 +08:00 
                    
                    一个字,闲 
                 | 
            
     54 
                    
                    bluefalconjun      2020-05-07 14:40:42 +08:00    嵌入式程序员只会 C. 
                想着学个面向对象的语言 看了下 go 好简单 走起...  | 
            
     55 
                    
                    imherer      2020-05-07 14:41:11 +08:00 
                    
                    一开始是跟风,学了之后:真 TM 香~ 
                 | 
            
     56 
                    
                    xmge   OP @hideinbush 好诗好诗 
                 | 
            
     57 
                    
                    d0m2o08      2020-05-07 14:44:51 +08:00 
                    
                    交叉编译二进制真他妈香 
                 | 
            
     58 
                    
                    KasonPasser      2020-05-07 14:48:12 +08:00 
                    
                    你们都用 go 找到工作吗? 
                 | 
            
     59 
                    
                    namelosw      2020-05-07 14:55:39 +08:00 
                    
                    感觉说 routine 之类的其他语言也有,还有 Elixir 之类也挺好用的方案,我来换个视角: 
                Rob Pike 之前聊过静态类型一般安全,运行比较快,但比较较笨重,编译慢开发效率低,所以后来反而又流行了动态类型语言或者脚本语言,效率确实很高 但是动态类型或者脚本语言有时候火葬场 当然还有 C/C++这种编译又慢又类型不安全火葬场的 这时候你就会发现可以画出一个四象限,C/C++对角之前没有语言 这个就是 Go 的 niche,又轻快又有静态类型,带着这个奔着象限 niche 的初衷,Go 各方面包括工具设计得也都轻快简洁,这个其实是很多人第一印象感觉一般,用起来感觉真香的原因  | 
            
     60 
                    
                    lepig      2020-05-07 14:58:18 +08:00 
                    
                    因为怕死  怕饿死 
                 | 
            
     61 
                    
                    keepeye      2020-05-07 15:12:52 +08:00 
                    
                    单文件部署、语法级协程和管道、比脚本强太多的运行效率 
                 | 
            
     62 
                    
                    RubyJack      2020-05-07 15:14:20 +08:00 
                    
                    主要还是设计哲学上对口味, 例如组合优于继承, 延后抽象,CPS 模型等等 
                 | 
            
     63 
                    
                    uuker      2020-05-07 15:16:32 +08:00 
                    
                    python, 慢 
                 | 
            
     64 
                    
                    ShuoHui      2020-05-07 15:18:16 +08:00 via iPhone 
                    
                    打算 Python 熟练了,做几个项目,就去学 go…… 
                 | 
            
     65 
                    
                    CEBBCAT      2020-05-07 15:18:28 +08:00 via Android 
                    
                    @KasonPasser 工作不好找,但也找得到,北京上海都有 
                 | 
            
     66 
                    
                    timothyye      2020-05-07 15:22:15 +08:00 
                    
                    Go 打包出来的 Docker 镜像真香 
                 | 
            
     67 
                    
                    KasonPasser      2020-05-07 15:33:38 +08:00 
                    
                    @CEBBCAT so 我也就学了个语法就完事了,没有深入了解了。 
                 | 
            
     68 
                    
                    please0stop      2020-05-07 15:39:04 +08:00 via Android 
                    
                    有指针,灵活简洁,兼顾脚本性与系统性 
                 | 
            
     69 
                    
                    ID2333      2020-05-07 15:49:46 +08:00 
                    
                    
                 | 
            
     70 
                    
                    dullwit      2020-05-07 15:50:03 +08:00 
                    
                    话说 kotlin 也支持 native 呀 
                 | 
            
     71 
                    
                    ClarkAbe      2020-05-07 15:50:49 +08:00 via iPhone    简单方便跨平台包管理也便捷 
                1.随时写点小工具,标准库的强大让我不必去打开 github 2.写点小服务直接交叉编译丢路由器上就能跑,这点无论是 python 还是 java 都做不到的( py 要 pip 装一堆库,java 要装虚拟机 3.编译成功过后基本不用去考虑什么动态链接库 /dll......静态语言的嚣张 4.性能是真的超级好,一堆 php 的东西用 go 重写过后简直快起飞了,相见恨晚 5.go mod 真香……为此自己还写了个脚本用来把自己经常用的库打包自己的微(重)服务,放心有 go vendor 不会出现分发源代码几百 M 的情况,除非一个项目用到了全部库?!(应该是不太可能  | 
            
     72 
                    
                    keepfun      2020-05-07 15:53:08 +08:00 
                    
                    go mod 导致 pkg 下面 一个包 n 多个版本 真是讨厌 
                 | 
            
     73 
                    
                    lordofhollows      2020-05-07 15:53:34 +08:00 
                    
                    比 Java 简洁,方便 
                协程、Channel 、指针、RPC 之类的  | 
            
     74 
                    
                    Jackeriss      2020-05-07 16:07:53 +08:00 
                    
                    为什么不学 go ? 因为学了 python 、java 和 js,就没动力学 go 了,在语法、生态和实用性上都不如 python 、java 和 js,go 并不是不可替代的语言,没有不学不行的理由,除非你是搞虚拟化的,还有之前是学 php 的和打死不学 java 的也许可以考虑学下 go 。 
                 | 
            
     75 
                    
                    Hanggi      2020-05-07 16:10:52 +08:00 
                    
                    语言层面: 
                强制代码风格,自动格式化,无需配置,语法简单精炼,砍掉类继承多态,标准库 /谷歌库异常强大。。。 工程方面: 编译非常快,对系统依赖极少,无需配置运行环境,性能好,并发好,开发效率,交叉编译。 感情方面: python 版本管理太糟心,java 太笨重,c++ 编译太慢  | 
            
     76 
                    
                    looppppp      2020-05-07 16:11:09 +08:00 
                    
                    第一眼看见就喜欢这种语法,简洁,没有啥花里胡哨 
                 | 
            
     77 
                    
                    Rwing      2020-05-07 16:12:04 +08:00    我就想问一句,C# 不香吗? 
                 | 
            
     79 
                    
                    gaius      2020-05-07 16:13:56 +08:00 via Android 
                    
                    我也在学 
                 | 
            
     80 
                    
                    pursuer      2020-05-07 16:27:33 +08:00 
                    
                    很迷惑,最早的时候 C 程序都是静态编译的,后来为了避免内存中存在库的多个副本造成内存浪费,出现了动态库,然后,Go 又改了回去,然后这个特性受到了广泛好评。。。 
                 | 
            
     81 
                    
                    crs0910      2020-05-07 16:28:47 +08:00 via iPhone    地鼠比较萌 
                 | 
            
     82 
                    
                    xmge   OP  | 
            
     83 
                    
                    minyress      2020-05-07 16:34:50 +08:00 
                    
                    无聊 
                 | 
            
     84 
                    
                    AngryMagikarp      2020-05-07 16:42:09 +08:00 
                    
                    @pursuer 张口就来系列。除非编译时候加了 CGO_ENABLED=0,否则编译的二进制依然有动态依赖。退一步说,谁是因为这个给 GO 好评的。 
                 | 
            
     85 
                    
                    kivensun      2020-05-07 16:57:53 +08:00 via Android 
                    
                    因为写前台,看到有人说必须学一门后台推荐 go,然后就学了 
                 | 
            
     86 
                    
                    pursuer      2020-05-07 17:01:35 +08:00 
                    
                    @AngryMagikarp #84 第一个回复就有人写了,"打包出来就一个可执行文件",有动态依赖是没错,但最多就依赖操作系统的部分核心库,也很少见到有人拿 Go 写动态库的。 
                @xmge #82 确实时代变了,但是动态库还是有些的价值的,比如现在被广泛诟病的 electron,如果 electron 变成一个通用库,所有程序都用这一个库,不仅打包大小小很多,内存占用也可以变小。不过版本管理就会麻烦,各有取舍吧  | 
            
     87 
                    
                    geminikingfall      2020-05-07 17:03:21 +08:00 
                    
                    好找工作。。。 
                 | 
            
     88 
                    
                    kylesean      2020-05-07 17:08:50 +08:00 
                    
                    Go 是 21 世纪的 C 语言,互联网时代的 C 语言! 
                 | 
            
     89 
                    
                    admirez      2020-05-07 17:10:18 +08:00 
                    
                    因为我用 delphi 
                 | 
            
     90 
                    
                    walker2laok      2020-05-07 17:10:25 +08:00 
                    
                    因为 PHP 已经不是世界上最好的语言了 
                 | 
            
     91 
                    
                    raincode      2020-05-07 17:13:53 +08:00 
                    
                    因为我是 google 是我爹 
                 | 
            
     92 
                    
                    Felldeadbird      2020-05-07 17:25:05 +08:00 
                    
                    大家都说 PHP 不好,我就稍微学了一点 GO 。 
                 | 
            
     93 
                    
                    hhyvs111      2020-05-07 17:26:53 +08:00 
                    
                    因为公司用 Go 
                 | 
            
     94 
                    
                    paoqi2048      2020-05-07 17:28:43 +08:00 
                    
                    害,品,你细品,go 它不香吗? 
                 | 
            
     95 
                    
                    SjwNo1      2020-05-07 17:37:30 +08:00 
                    
                    钱 
                 | 
            
     96 
                    
                    sunriz      2020-05-07 17:37:58 +08:00 
                    
                    犀利的瑞士军刀,morden c,同时没有 c++的复杂度包袱 
                 | 
            
     97 
                    
                    sunshinev      2020-05-07 17:40:28 +08:00 
                    
                    go 就是要啥有啥 
                 | 
            
     98 
                    
                    clino      2020-05-07 17:40:47 +08:00 
                    
                    Go 的协程是不是最吸引人的? 
                其实我没用过,但是感觉没有哪个其他语言在这方面能做得这么好.  | 
            
     99 
                    
                    securityCoding      2020-05-07 17:41:33 +08:00 
                    
                    简单明了,没有套娃 
                 | 
            
     100 
                    
                    micolore      2020-05-07 17:45:18 +08:00 
                    
                    写完 rust hello world 之后,并了解一点语法之后,现在沉迷 go 不能自拔。 
                 |