从 17 年开始学习 go 的,之前是做 java 开发的,刚开始写 go 的时候,我去,怎么不写 “;”,这么不严谨,不过 go 起来挺舒服的,直接写方法也挺舒服的,后来有次又写 java,我去,为啥要写 “;”。
大家都是为什么学习 go 啊。用一句话概括一下,为什么一句话,因为一句话才是精华啊。
102
loading 2020-05-07 17:48:50 +08:00 via Android
时髦
|
103
ica10888 2020-05-07 17:52:20 +08:00
大道至简
|
104
monkeyWie 2020-05-07 18:15:09 +08:00 1
在公司做分享的时候总结了三点:
1. 同步 IO 写法,底层自动转异步 IO,这点写过 JAVA NIO 的应该都能体会到有多爽 2. 协程 3. 静态编译,交叉编译,并且体积可以接受 关于开发效率这点,并没有觉得有什么提升,除非是开发偏底层中间件之类的东西,我自己用 go 一般都是开发一些网络协议方面的东西。 写业务的话还是 java 比较香,毕竟 go 缺少泛型、异常处理、动态代理、全家桶等等。 |
105
charlie21 2020-05-07 18:18:01 +08:00
golang 广告做得好
|
106
charlie21 2020-05-07 18:19:58 +08:00
( 能把拐杖卖给腿脚好的人 )
|
107
monkeyWie 2020-05-07 18:20:51 +08:00
然后刚好公司自研的 DevOPS 平台需要和 docker 和 k8s 打交道,所以也是工作和业余都用上了 go
|
108
cenx 2020-05-07 18:48:26 +08:00
比较简单,容易上手
|
109
sxszzhrrt 2020-05-07 18:50:15 +08:00
公司要求,为了有口饭吃
|
110
blless 2020-05-07 19:02:00 +08:00 via Android
不知道 v 站哪来的这么大怨气哦,我就觉得 rust 麻烦,python 效率不行,java 吃内存嘛。go mod 现在各种 goproxy 不香吗。
|
111
bearbaba 2020-05-07 19:16:36 +08:00
够浪( golang )
|
112
pythonee 2020-05-07 19:42:59 +08:00
技多不压身,想看下协程机制
|
113
justfortest 2020-05-07 19:44:37 +08:00
我只想说动态类型一时爽,一直动态一直爽,python 大法好,ruby 大法好。
|
114
cmdOptionKana 2020-05-07 19:53:47 +08:00 16
用 Go 编程心智负担很低。
必须承认 Go 的缺点是 “不好玩”,没有黑魔法,由于没有泛型有时(很少时候)会需要手动复一些代码造成冗余,每隔几行就要写一次 if err != nil,连三目运算符都没有,一大堆现代编程语言的语法一概不提供!只能老老实实用最原始最基本的语法来写程序。 但这些代价是值得的,由于语法精简,因此易学、编程时会分散注意力去搞黑魔法、看别人的代码或自己的旧代码非常清晰易懂、不管谁写出来的 Go 代码编程风格都比较一致。 由于错误处理采用了 verbose 到极致的方式,因此如果老老实实处理每一个 error (这也是 Go 文化之一),将会发现 debug 非常轻松,这是一个极大的优点,一旦感受到这一点,就能容忍 if err != nil 了。 语法精简的另一个大好处是,闪电般的编译速度,这点也是非常爽。 还有就是标准库很强大,而且质量很高,官方文档非常优秀,社区、生态发展良好等等,很多优点。 |
115
justfortest 2020-05-07 19:54:09 +08:00
@shoaly 很多语言都可以打包成可执行文件,golang 有些库依旧需要依赖和编译。
|
117
IsaacYoung 2020-05-07 20:07:14 +08:00
先问是不是
|
118
orm 2020-05-07 20:09:17 +08:00 via iPhone
学完 go 学 rust,赶时髦
|
119
Acoolda 2020-05-07 20:16:50 +08:00 via Android
因为 go to win 啊
|
120
loryyang 2020-05-07 21:15:33 +08:00
似乎看起来比较潮?
|
121
JB18CM 2020-05-07 21:18:15 +08:00
钱
|
122
SlipStupig 2020-05-07 21:32:48 +08:00 3
因为自己智商不够又想写高性能程序
|
123
frankyzf 2020-05-07 21:36:49 +08:00 2
有个疑虑是 Google 隔一段时间就会抛弃一些产品,有点担心这点(虽然 Go 开源)。
|
124
silvernoo 2020-05-07 21:56:40 +08:00
没人提交叉编译吗?我投一个交叉编译
|
125
guonaihong 2020-05-07 22:09:12 +08:00
@jimyan go 可以不依赖 libc,直接 env CGO_ENABLED=0 就行。
|
126
chengxiao 2020-05-07 22:16:53 +08:00
没有那么多花里胡哨的写法,都老老实实的写好逻辑,看别人源码不是很吃力
|
127
ChristopherWu 2020-05-07 22:24:44 +08:00 1
不为什么,因为 go 是富二代,爹好名声大,所以跟风去了,至于实际上好不好?营销做的好,好不好都不是问题。
|
128
CEBBCAT 2020-05-07 22:32:42 +08:00 via Android
@greatgodwei Go 的工资真的很高吗?我实习 Go 五个月了,也可能是因为我拿的是实习工资的原因……
|
129
yuzhiquan 2020-05-07 22:46:18 +08:00
kubernetes
|
130
poplar50 2020-05-07 22:56:44 +08:00 via Android
生活所迫
|
131
May725 2020-05-07 23:07:11 +08:00
类型和名字 为什么要换方向
|
132
Axel2 2020-05-07 23:10:24 +08:00 via iPhone 4
If you want to make love wearing nothing, choose C.
If you want to make love wearing a condom, choose Go. If you want to make love wearing a spacesuit, choose Rust. 之前在 Reddit 上看到的。所以我选 go |
134
pmx1990 2020-05-07 23:48:41 +08:00 via iPad
改 k8s 源码 ,
|
135
cloverzrg2 2020-05-08 00:04:36 +08:00
@AngryMagikarp #14 go 开发的 frp 可以运行在路由器、linux 、win 等设备上 https://github.com/fatedier/frp/releases,你只是只接触服务端的开发
|
136
chinesestudio 2020-05-08 00:09:07 +08:00 via Android
@shoaly 我也用 go 。但是 可以用不代表一直好用。一样要再编译再部署。能解决问题的都是好语言。
|
137
lewinlan 2020-05-08 01:12:55 +08:00 via Android
静态编译类型——可靠
工具链齐全——省心 强制语法——好读好写 原生协程——无痛并发 与 ts 语法接近——快乐全栈 |
138
falcon05 2020-05-08 04:04:07 +08:00 via iPhone
PHP 做不到的地方,它做到了
|
139
xmge OP @IsaacYoung 先问是不是,再问为什么,哈哈,看来是的人挺多,这个问题就是是的人回答。不是的人了解了解。
|
140
gonearewe 2020-05-08 08:35:49 +08:00 via Android
并发好写
|
141
raptor 2020-05-08 09:06:50 +08:00
为了一个 python 程序能在 windows 上跑,用 go 改写了……因为所有 python 的并发机制都依赖 libev 之类的 windows 没有的东西
|
142
sunwq 2020-05-08 09:10:37 +08:00
因为有个好爹
|
143
zzzmh 2020-05-08 09:12:23 +08:00
闲的发慌 精力旺盛 无处发泄 和自己较劲 自己为难自己 花时间找罪受
(滑稽) |
145
bintianbaihua 2020-05-08 09:55:36 +08:00
因为香。。
|
146
vanishcode 2020-05-08 10:18:40 +08:00
大学时候写 web 项目交作业特别方便
|
147
yuShan1 2020-05-08 10:33:55 +08:00
一个字就够了: 钱
|
148
fancy2020 2020-05-08 10:37:55 +08:00
为了看 V2Ray 的代码(:逃
|
149
sherryqueen 2020-05-08 10:39:10 +08:00
后端用着. 顺带喊我学了.
|
151
6xiaowu9 2020-05-08 10:42:38 +08:00
就搞不懂做 PHP 的为什么要转 GO
|
152
hunter2015 2020-05-08 10:45:39 +08:00
python 性能不好(学习之后发现,go 单进程性能并不必 python 好)
|
153
evilic 2020-05-08 11:58:39 +08:00
单独的了解一下 go,以便确认它的使用情况,方便在未来使用它方便完成任务的时候使用它。
|
154
zhengdaozi 2020-05-08 12:48:19 +08:00 via Android
给我工资我就学,其实用是因为公司直播的聊天项目,使用 php 沾满,而 go 降低不少,别说 swoole,因为我的 go 也一样很烂
|
155
sunxiansong 2020-05-08 13:01:26 +08:00
启动快,内存门槛低,单元测试方便,强类型,编译型,直接打包二进制,简单 花里胡哨的东西少
没错我原来主要写 java,js |
156
qW7bo2FbzbC0 2020-05-08 13:12:24 +08:00
@lewinlan 你说的这些 c# on .NetCore 也适合啊
|
157
fovecifer 2020-05-08 14:08:53 +08:00
在我看来两点:
1. 单个可执行文件,没有恶心的运行时依赖问题 2. 用户内核线程 M:N 模型,理论上最高效的模型吧 |
160
xyjincan 2020-05-08 15:16:07 +08:00 via Android
比 c 方便,执行文件哪里都能执行
|
161
xyjincan 2020-05-08 15:19:56 +08:00 via Android
gc,内存动态占用,不用知道返还给系统
|
162
qwefdrt 2020-05-08 15:53:48 +08:00
工作必须得用
|
163
daimiaopeng 2020-05-09 09:37:49 +08:00 via Android
没人从 cpp 转过去的嘛?
|
164
jinsongzhao 2020-06-25 13:25:01 +08:00
我也可以一句话概括为何不学 golang 。
我主要语言是 C/C++/Java,go 不能替代它们所以不学。 go 不能替代 C/C++,已成定局。go 不能消灭 java 只能并存也是定局,这样转 go 的动力只有两个了,多个技能多个机会的机会主义,不擅长 java 的方式更擅长 go 的思维方式。 |