Go 到底优势是在哪里?

2019-10-17 17:24:00 +08:00
 upday7

我们现在的项目是用的 django+restful 做接口,最近接触到很多 go 的内容,被网络上的讨论有点弄晕了。如果做接口后端,为什么 go 比 python 有优势,除了速度这些还有什么?

22104 次点击
所在节点    Go 编程语言
153 条回复
upday7
2019-10-17 18:37:26 +08:00
@Aether 我好像也是这么听说的。😄
BBCCBB
2019-10-17 18:37:35 +08:00
原生协程,docker,k8s, etc... 云产品开发的霸主。 生态上去了
index90
2019-10-17 18:37:42 +08:00
@upday7 举个例子,搜索。100 万条数据找 10 条匹配度最高的。
一台服务器+一个数据库,基本上瓶颈会出现在数据库,因为你要在 100 万条记录的数据库中寻找 10 条数据。

换个做法,一台服务器,100 个数据库,每个数据库存 1 万条数据,那么一次搜索查询,需要并发出 100 个数据库请求,那么这时候瓶颈就会出现在应用服务器的并发性能上了。

所以 go 要扩大收益,架构也要跟着改变。
zarte
2019-10-17 18:41:00 +08:00
交叉编译后可以不用考虑环境问题。
各种文章说协程有优势,不过自己也没跟 c#的多线程对比过。
小项目功能开发简单,建立 main.go 文件,引入库,写方法或者定义几个结构体就 ok 了。以上步骤比 c#简单没有未知异常。
neverfall
2019-10-17 18:50:09 +08:00
@index90 对的
fuxiaohei
2019-10-17 18:52:47 +08:00
多试试,就会知道,随便就可以撸小东西用,真方便
MengQuadra
2019-10-17 19:10:12 +08:00
我个人感觉最大的优势还是在不改动代码的情况下,go 编译后的并行 /流水优化实在是相当厉害
简单省事
gamexg
2019-10-17 19:25:19 +08:00
性能可能没大感觉,但是动态一时爽,重构火葬场...
复杂接口,维护时间一长,文档不一定准确了,修改一处结构不知道会影响到哪些地方
测试覆盖不了所有流程,虽然看似测试通过,但是还有可能运行中崩掉。
MonoLogueChi
2019-10-17 19:28:02 +08:00
效率高,静态编译。
效率一条就足够了
Leigg
2019-10-17 19:28:21 +08:00
跟我学 vlang 吧
jacketma
2019-10-17 19:31:39 +08:00
go 在 Java 之前出现,不是完美了?
kaneg
2019-10-17 19:33:09 +08:00
接近 C 的性能加现代语言的优雅
janus77
2019-10-17 19:35:00 +08:00
简单和性能的折中吧
c 性能好但不简单
py 简单但性能不够
java 性能也算好,但是依然比 go 复杂了点
v2exchen
2019-10-17 19:35:41 +08:00
optional
2019-10-17 19:38:47 +08:00
并没有用特别的优势,只是天下苦 java 久矣,被 java/jvm 搞得心力憔悴,看到一个性能 ok,写起来有没有 c/c++这么痛苦的语言,就觉得很不错。
zicla
2019-10-17 19:42:15 +08:00
看大伙讨论 go,也来凑个热闹,这是我用 go 开发的开源云盘 https://github.com/eyebluecn/tank 性能非常好,访问速度很快,这其实就是得益于 go 的语言特性
zzlettle
2019-10-17 19:53:07 +08:00
人家说用 django 开发网站跟 go 比较
我反正感觉一般项目用 django 开发神速。用 go 费劲。
小项目特别是 web 开发.go 的那些框架还有第三方库整合起来不就是 django 啦,然后用起来还没 django 顺手
dosmlp
2019-10-17 19:57:51 +08:00
当然是性能,python 那点速度真是够受的了,Java 也是慢的一比
Tink
2019-10-17 20:09:02 +08:00
并发
TangMonk
2019-10-17 20:11:50 +08:00
.net core 的出现, go 的地位应该慢慢要下滑了.

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

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

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

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

© 2021 V2EX