关于 go 语言选型的问题

2018-07-27 09:30:06 +08:00
 xiaottt

大家好。
公司可能部分业务要慢慢用 go 来搞了,之前 C++攒了好多库和自己的轮子,用久了也挺可靠的,但是 go 一点也不熟悉。虽然说语法简单,上手容易,但是大量的第三方库也不知道该如何选型。
请熟悉的大佬推荐一下,少踩点雷。

谢谢。

Http(除了 go 自带,有没有更好的)
RPC
MQ(比如 RabbitMQ)
MySQL
Redis
log
Json XML
SSL

5386 次点击
所在节点    程序员
21 条回复
freehere
2018-07-27 09:35:51 +08:00
reus
2018-07-27 09:36:39 +08:00
https://godoc.org/

选搜出来的第一个
Narcissu5
2018-07-27 09:40:39 +08:00
我就想知道为什么这么多公司对 go 一无所知还敢转过去,因为流行么
saberpowermo
2018-07-27 09:51:52 +08:00
@Narcissu5 赞同。。。
fatedier
2018-07-27 09:55:32 +08:00
@Narcissu5 必然是因为有一些吸引人的特性,期望换成 Go 后在某些方面能有改善,流行的话为什么不选 java。
nullen
2018-07-27 10:11:15 +08:00
第三方库的选型策略:去找知名的 Go 项目,看看里面引用的是什么类库。
gowk
2018-07-27 11:22:36 +08:00
能不用 orm 就不用 orm,避免不必要的复杂性
sqlx 加一个 sql builder 足矣,可以考虑滴滴的 gendry,或者自己造轮子
http 随大流选择 gin 吧
log 可以考虑 uber 的 zap
rpc 选择标准的 grpc 吧
Narcissu5
2018-07-27 11:23:09 +08:00
@fatedier
第一:java 不潮,干久了才发现编程也是个赶流行的行业,比如 jquery 在很多需求面前仍然是最好的工具,但这年头你都不好意思说自己前端是用 jquery 写的
第二:java 积累了这么多年,每个三五年升不到高级开发,go 一两年就可以了,毕竟新语言,没有那么多老鸟压在头上
gowk
2018-07-27 11:26:12 +08:00
@Narcissu5 我想是因为 Go 简单,代码已读,熟悉 Java 或其语言的可以快速上手,但你可能要问直接用 Java 就好了,干嘛要换 Go,Java 刚出来的时候别人也是这么想的。软件行业在发展,编程语言也在发展,总会出来新的东西来替换旧的东西,这就是历史发展的自然规律
askfilm
2018-07-27 11:44:06 +08:00
@Narcissu5 我也赞同, 我认为应该用最稳定,最熟悉的东西, 尤其对工作上的开发, 这是一种负责。 再说了新东西不一定是好东西, 会过多消耗公司资源, 自己和团队的精力! 尤其可以拖慢公司的业务速度, 是中小公司大忌!
askfilm
2018-07-27 11:45:51 +08:00
大公司就喜欢搞出来一些新玩意,来折腾中小公司, 玩腻了就扔了 (个人观点)
fuxiaohei
2018-07-27 11:46:49 +08:00
既然是慢慢用 go 搞,可以从边缘业务、小工具层面做起,体验一下各种库好了。少踩雷是想得美。
rrfeng
2018-07-27 11:47:21 +08:00
楼上几位说的都对
但我认为本质的问题是,楼主提出来的这个问题本应该自己通过搜索、分析、源码阅读等判断得到结论。如果只想到来问,那么一定转型不顺利。
owenliang
2018-07-27 11:50:25 +08:00
尽量不用第三方库,如果用非得用就用吧,我是没碰过什么问题。
notreami
2018-07-27 14:50:43 +08:00
@gowk 这个布道,是在太低劣了。rust 比 go 新,要不把 go 扔了吧。软件行业在发展,编程语言也在发展,总会出来新的东西来替换旧的东西,这就是历史发展的自然规律
mengzhuo
2018-07-27 14:57:27 +08:00
>> 之前 C++攒了好多库和自己的轮子

难道是我厂……
prondtoo
2018-07-27 17:04:24 +08:00
https://gokit.io/
微服务全家桶啊,再上 K8S 部署。
kangkang
2018-07-27 18:06:02 +08:00
github 上有个叫 awesome-go 的项目,推荐看下
zhangtao
2018-07-27 19:40:24 +08:00
@gowk 握个抓,跟我的选型基本一致
tianzx
2018-07-27 22:30:21 +08:00
mark

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

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

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

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

© 2021 V2EX