再来吹一波 Golang

2021-11-09 13:12:59 +08:00
 josephok

作为 Go 语言爱好者,我来总结一波 Go 的优势:

Golang 的开发者 Robert Pike 和 Ken Thompson 都是 UNIX 小组的成员,UNIX 系统影响深远,包括 UNIX 哲学-保持简单,也深深影响着后世。他们深刻理解简洁的好处,所以在设计 Golang 时同样保持这一原则。

编译成目标机器代码,部署容易,无需额外的依赖,性能优越。

GoLang 使用 goroutine 来实现并发性,它提供了一个非常优雅的 goroutine 调度程序系统,可以很容易地生成数百万个 goroutine 。

无需解释

有许多易于使用的内置工具,比如 gofmt 自动排版 Go 代码,很大程度上杜绝了不同人写的代码排版风格不一致的问题,大大提高了团队协作的一致性。

欢迎 V 友们补充。

15231 次点击
所在节点    Go 编程语言
132 条回复
angrylid
2021-11-09 13:15:39 +08:00
日经贴了。你说的都对,但其实对于我这样的菜狗来说,大佬用啥我就跟着用啥。
iyear
2021-11-09 13:17:03 +08:00
我尝试预言一波,第一点会被喷死,第二第三点会有人说各种别的语言也支持


语言大战马上开始,话说回来这种帖子太招黑了,我甚至觉得你是反串黑🐶
waising
2021-11-09 13:21:49 +08:00
go 会用的还是会用,不会用的吹了也不会用,反正每个语言都是一堆问题....看个人喜好和公司要求吧
josephok
2021-11-09 13:22:47 +08:00
@iyear 这里并没有语言大战的意思。关于第一点,简洁性不是人之常情吗?
qq1340691923
2021-11-09 13:26:49 +08:00
马上就会开始大战了...
ligiggy
2021-11-09 13:27:22 +08:00
第一点论证不充分。就比方说,衣服的设计师是 xxx ,他的风格是简单,所以他设计出来的新衣服就一定是简单的吗?
Brian1900
2021-11-09 13:29:18 +08:00
nil 警告
oott123
2021-11-09 13:30:42 +08:00
大道 if err != nil
bipy
2021-11-09 13:32:47 +08:00
日经贴,甚至没有新颖的观点
XTTX
2021-11-09 13:35:23 +08:00
你这个肯定会又双叕引起语言大战。 我从 go 弄到 js 到 react 到 ts, 玩过一点点 express.js. 只要写惯了,语言没有什么大不了的。只要团队的代码有明确的标准,都还好。js 也有 eslint 和 prettier , 团队可以确定自己的排版风格。React 换成了 vite(esBuild, go 写的),compile 速度也不慢了。 至于性能,如果你的业务多到语言本身的性能成了瓶颈,我觉得你公司已经是独角兽级别的了,你会有足够的资源解决这些瓶颈。
MarioLuo
2021-11-09 13:42:09 +08:00
Go 语言的三座大山包管理,泛型,错误处理,全搞定就完美了
Kilerd
2021-11-09 13:46:59 +08:00
大道至 nil
BeautifulSoap
2021-11-09 13:50:08 +08:00
Go 泛型要被解决了,但是 Go 这一言难尽无限套娃还不附带调用栈信息的 error 接口,估计还得继续用好多年
masterclock
2021-11-09 13:53:05 +08:00
我设计的语言 void
1. 大道至简
一生二,二生三,三生万物,void 回归本质:0
2. native
无需部署,兼容过去、现在、未来任何计算架构
3. 并发支持
无需解决任何并发带来的问题
4. 编译快
无需编译
5. 完善的工具链
6. 不存在




大道至简,首先要是大道啊
zijieq
2021-11-09 13:55:54 +08:00
包管理太难用了
xz410236056
2021-11-09 14:06:11 +08:00
@zijieq #15 有 go mod 之后还行啊
XTTX
2021-11-09 14:14:40 +08:00
@MarioLuo 包管理我觉得 go.vendor 能解决不少问题,默认选择不带 go.mod 的版本我觉得是有点蠢的。至于错误处理,我觉解决方式在于你设计 app 之初决定什么层级 wrap err 返回到 caller, 什么层级决定处理 err. 具体可以看看 github Ardanlab service repo. 它至少解决了我 web app 错误处理的问题。
ck65
2021-11-09 14:19:35 +08:00
Go 语言,又名 Errlang 。
ciki
2021-11-09 14:29:34 +08:00
感觉 go 在国内用的比国外还多
fenglangjuxu
2021-11-09 14:31:15 +08:00
go modules 混乱的一逼

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

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

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

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

© 2021 V2EX