从 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 工作需要 |
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 houshuu 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 |
![]() | 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 nbsp; 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 解决了这个麻烦。 协程,避开了回调地狱。 内置交叉编译支持,可以轻松编译出来多个平台下的代码。 |
![]() | &nsp; 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 不能自拔。 |