从 17 年开始学习 go 的,之前是做 java 开发的,刚开始写 go 的时候,我去,怎么不写 “;”,这么不严谨,不过 go 起来挺舒服的,直接写方法也挺舒服的,后来有次又写 java,我去,为啥要写 “;”。
大家都是为什么学习 go 啊。用一句话概括一下,为什么一句话,因为一句话才是精华啊。
1
shoaly 2020-05-07 12:52:00 +08:00 19
我觉得 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 9
因为只会 python 要学一门静态语言
|
8
simapple 2020-05-07 13:12:38 +08:00
玩
|
9
Vegetable 2020-05-07 13:13:43 +08:00 4
跟风
|
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 1
因为钱
|
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 1
没有泛型不想用 golang,逃
|
16
teawithlife 2020-05-07 13:28:46 +08:00 2
初期:闲着没事,随便找门带 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 2
工资高,别说那些有的没的,钱多就行了。
|
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 1
因为有人在吹,所以想学
|
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 1
宁学 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 3
满屏幕 if nil
go mod1.13 之前简直灾难 如果没有七云牛我都不知道怎么下依赖 |
52
hideinbush 2020-05-07 14:35:39 +08:00 1
我初学诗日,但欲工藻绘;
中年始少悟,渐若窥宏大。 怪奇亦间出,如石漱湍濑。 数仞李杜墙,常恨欠领会。 元白才倚门,温李真自郐。 正令笔扛鼎,亦未造三昧。 诗为六艺一,岂用资狡狯? 汝果欲学诗,工夫在诗外。 |
53
defunct9 2020-05-07 14:38:27 +08:00
一个字,闲
|
54
bluefalconjun 2020-05-07 14:40:42 +08:00 1
嵌入式程序员只会 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
简单方便跨平台包管理也便捷
1.随时写点小工具,标准库的强大让我不必去打开 github 2.写点小服务直接交叉编译丢路由器上就能跑,这点无论是 python 还是 java 都做不到的( py 要 pip 装一堆库,java 要装虚拟机 3.编译成功过后基本不用去考虑什么动态链接库 /dll......静态语言的嚣张 4.性能是真的超级好,一堆 php 的东西用 go 重写过后简直快起飞了,相见恨晚 5.go mod 真香……为此自己还写了个脚本用来把自己经常用的库打包自己的微(重)服务,放心有 go vendor 不会出现分发源代码几百 M 的情况,除非一个项目用到了全部库?!(应该是不太可能 |
72
fenglangjuxu 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 3
我就想问一句,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 5
地鼠比较萌
|
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
tyrantZhao 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 不能自拔。
|