写 Go 真的好爽

107 天前
 jlak
写 Go 一个月了,越写越爽,最近开始用上了 Ai 辅助后真倍爽
自己也没搞清楚为什么写 Go 就会特别爽
有可能是规范和提示,这点动态语言不太完善
(但是不知道为什么 TS 就不爱用)
即使给程序来个大改也比较轻松不容易出错
还有代码是真的容易看懂
自己写的也好别人写的也好从来没想过能这么容易懂
12440 次点击
所在节点    Go 编程语言
98 条回复
huangliu
107 天前
有可能是因为功能越多,写得越花哨,就越难懂
hedwi
107 天前
go 真的挺好 不知道很多喷 go 的人都用啥先进的语言
povsister
107 天前
因为 go 最初设计就是,尽量抹平新手和老手之间的理解与认知 gap ,让一个团队里不同水平的工程师都可以互相合作。

简单点说就是下限和上限差别很大。这点在框架开发上其实蛮牢的,你要么接受设计者的哲学,要么就自己另起炉灶。
这可能也是 go 在社区口碑两极分化的原因,喜好的人很喜好,不喜欢的人就是不喜欢。
cmdOptionKana
107 天前
心智负担低啊,一切都清清楚楚明明白白。

缺点是罗嗦、不够简洁,但优点也很明显,全透明,感觉很轻。

比如 Python 或 Java 里的类和对象,给人的感觉就很“重”,总感觉背着一大坨行李,也不透明,有时夹带魔法。
thoo61871
107 天前
go 是世界上最好的语言
我支持 go ,你们可以打我了
LieEar
107 天前
我觉得最爽的是直接生成可执行文件,方便部署。docker 镜像也不到 50MB
jlak
107 天前
@cmdOptionKana 用上 AI 后啰嗦也不是缺点了,就一按 Tab 的功夫
wentx
107 天前
@jlak #7 然后变成了 tab 工程师(狗头保命
povsister
107 天前
@jlak
老实说,写 go 也五六年了,除了业务代码 AI 有点用以外,大多数情况我体感是 AI 只能帮倒忙。
尤其在写一些很底层的部分时,由于变量名称省略较多,经常都是 1-2 个字母的变量名,然后 AI 给你写的代码光给它 debug 就要费劲很多,还容易看错。
flytsuki
107 天前
写过 go,还是觉得 c#舒服
csys
107 天前
我自己的观点,写 go 爽一个是因为并发模型,如果之前没用过这方面做的比较好的语言(比如 java ),就能体会到比较大的进步
另一个是 go 的多态实现,之前用的是传统 oo 语言,就会觉得很简单直接
最后是非常简洁,就比如 if 语句不带括号,还是非常舒服的,写 python 也挺爽的

但是 go 也会有很不爽的时候,比如错误处理,比如缺少模式匹配,比如难用的泛型和 lambda ,比如只有 interfaces 而没有 traits

另外 go 项目大了也是挺难看懂的,go 的一个风格特点是命名非常简单,项目大了以后,一些名字使用的地方和定义的地方就会隔得比较远,到时候满眼都是 ch, g, m ,就难懂了
henix
107 天前
我也觉得,心智负担低到甚至可以用记事本一遍写出可以通过编译的代码
jlak
107 天前
@povsister 那可能是因为你用的不是 cursor 吧,我用下来在补全方面非常精准,和其他补全有很大差距。
基本简单的东西都不需要自己写了,比如最基础的 err!=nil 再也不用手动写了
liuliancao
107 天前
经常点来点去的 比较像自然语言 会好懂点
body007
107 天前
写 go ,有啥不懂直接点进去看源码,清清楚楚、明明白白。我写 python 时候那真是噩梦,标准库点进去只看到一个定义,想看参数用法只能找文档,还生怕用错了。被 *args 和 **kwargs 支配的恐惧,就像 go 写函数传参是 func test(arg map[string]any) 一样蛋疼。
jlak
107 天前
@csys 我翻了自己几年前写的 Python oo 屎山直呼什么玩意看不懂
还好 Go 没 this ,self

简短的变量名官方规范好像是用在局部变量
像 for 里临时变量里,适用范围小应该还算可以吧
edisonwong
107 天前
1. ai 敲 tab 出来的业务逻辑大多数不能用,排查费劲。
2. go 如果加个 fea 能控制 goroutine 的生命周期就好了。我最近在写 python+django ,那报错信息云里雾里,好几行误导。python mysql client 还依赖底层文件。在一些老系统里装底层依赖真是要了老命;要 java 的话各种 o ,命名还贼长。
8355
107 天前
我的理解同一个逻辑需求大概率只有一种写法,不是很在意是否为最佳实践,其他语言在这方面包袱很重。
同时还有 Gofmt 自动格式化比较舒适,所有人的代码是一个格式,没有多余的无效引用和灰色的无用代码。
jlak
107 天前
@edisonwong 业务逻辑肯定不能交给 tab ,我觉得他适合当作 snippets ,一个自动选择的,超大 snippets 集
vczyh
107 天前
Build 后一个可执行文件可太爽了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1070765

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX