Go 写业务真的是好的选择吗

2023-02-03 17:26:30 +08:00
 soupu626
  1. 本人 JAVA 转 GO ,JAVA 练习时长四年,GO 练习时长半年
  2. GO 本身写起来是比较爽,语法简练,不啰嗦
  3. 但是为啥啥啥都要自己写啊,list.contains 都要手写个 forr,还不支持范型(公司项目 go 版本比较低)怀念 guava/common-lang /redission 等等
  4. 个人感觉从语法层面,kotlin 或者 java+lombok 已经可以让语法简单很多了
  5. 同时在业务开发的场景下,语言性能 go 真的能拉开很大的差距么,瓶颈不是一般都在数据库等外部 IO 上,性能层面还有 JIT 这种东西来辅助 JVM
  6. 如果让各位老哥做技术选型,会选 go 作为业务开发的技术栈么
11961 次点击
所在节点    程序员
75 条回复
iseki
2023-02-04 20:57:14 +08:00
@xyjincan 把一个可以快速发现的 bug 变成完全的灵异事件,真棒👍
iseki
2023-02-04 21:00:36 +08:00
@Nazz ArrayList 需要自己造轮子这事其实非常恐怖
des
2023-02-04 22:32:57 +08:00
@Nazz 这边建议您看看 rust 呢
djoiwhud
2023-02-04 23:21:02 +08:00
go 实现业务处于谁都不服谁的状态。不同的公司,方案差异极大。
LostPrayers
2023-02-05 00:32:21 +08:00
不好,我写 go 写出了内存泄漏,这是以前写 java 遇不到的🤣🤣
Dogtler
2023-02-05 00:38:47 +08:00
不好,业务选择建议 node 或 php
如果服务不在 k8s 容器化,那么是有些鸡肋
daiv
2023-02-05 05:54:20 +08:00
@ilylx2008 #54 感谢推荐, 这个库👍🏻
findex
2023-02-05 19:41:21 +08:00
看大家说 go 和其他语言的比较。大多是在比较 java ,有没有比较一下 python 的?

或者比较一下 dart ,都是出自 google 。dart 特性和 go 很相似,但是 dart 语言更更小众了。很多方面还没有 go 完善,但是你要说写逻辑,哪个语言都行吧。就看你想达到什么目的。dart 现阶段的 dart vm 类似 java vm ,性能会比 standalone executable 二进制文件效率高,由于 vm 对系统资源调度优化。这点和 java vm 学的很不错。但是在一些数学计算上,以及大数据量处理上就不行了,还没学到 go 的精髓。再看 benchmark ,总觉得不如 c++优化好。再追求极致一点,还是 C 速度快一点。然后 rust 还能出来打一下,然后还有 zig 语言。

看看这个比较,https://programming-language-benchmarks.vercel.app/dart-vs-go
go 更后端一点。数据量一大,dart 就 timeout 了。其实这只是片面的 dart exe 和 go exe 比较,如果这时候用 dart vm vs go 比较,dart 的性能不会至于这么尴尬。

我要吐槽一句,你刚看完的 dart 教程可能在下个版本的 dart 里面没用了。迭代更新速度很快。
WhoMercy
2023-02-05 20:10:39 +08:00
用 go 会有问题,但问题不在 go
aladdinding
2023-02-06 10:56:34 +08:00
不会做抽象么 照着逻辑硬写当然不舒服(想写屎山那没办法)
xiaocaiji111
2023-02-06 13:51:19 +08:00
不好,复杂业务写着确实累,还不优雅,很多东西要手撸一遍。很多人推荐写业务估计局限于 go 有限得语法和生态,可能没有写过其他语言。

但是如果小项目(几个 api 接口),工具类我会优先选择 go ,总不能把 java 那一套搬上来吧。

都是码农,根据项目情况来选择就行,当然上班,那就公司用啥你写啥嘞。
vitoliu
2023-02-06 15:04:23 +08:00
Java 这么简单都没学明白,学着相比下不够成熟的 Go 一边说 Go 真牛逼,真的好吗?
xuyang2
2023-02-06 16:48:56 +08:00
感觉 Go 的接口和组合,比 Java 容易被滥用的继承,可读性和可维护性高很多
unknowsun
2023-05-21 10:39:03 +08:00
@Breacher 你好,方便留个联系方式吗, 我目前也是 Android 转 Go , 还在学习中, 想了解一下后续找工作的话应该怎么,简历应该怎么写
Breacher
2023-05-21 12:43:59 +08:00
@domain9065 用 Telegram 吧,Base64 解码这个得到我的 username:QHh1YW55dWVsaW5ncWk=

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

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

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

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

© 2021 V2EX