发现项目里的 grpc、json 包都有三个

52 天前
 lysShub

grpc:

github.com/gogo/protobuf

github.com/golang/protobuf

google.golang.org/protobuf

json:

github.com/goccy/go-json

github.com/bytedance/sonic

github.com/json-iterator/go

可谓百花齐放

4440 次点击
所在节点    Go 编程语言
22 条回复
layxy
52 天前
序列化的包感觉统一使用一个比较好,要不然序列化的一致性不能保证,会有各种稀奇古怪的问题
lysShub
52 天前
@layxy 当然是第三方带进来的啊,自己的只用标准库
layxy
52 天前
@lysShub 不是自己代码使用问题不大,这个其实在其他语言也有类似的问题
nl101531
52 天前
都有,一般好的库会提供一个接口,自己更换实现,然后排出原本依赖
liaohongxing
51 天前
sonic 只有 amd64, arm64 吧 ,你这跨平台编译都有问题!
zeromake
51 天前
@liaohongxing #5
一般 go 项目也只在 amd64 系统下跑啊
lasuar
51 天前
gogo 不维护了,用 google.golang.org/protobuf 就行。json 用 jsoniter 足矣。
lx0758
51 天前
神奇了, 我去看了我一个 GO 的小博客, JSON 也是好几套...
leeyuzhe
51 天前
都这样,我们 java 项目也是一堆 json 库
jackerbauer
51 天前
还是俺们 PHP 简单。就靠两个函数,json_decode ,json_encode
wingofsky
51 天前
@zeromake 树莓派跑项目的表示不服
hefish
51 天前
你这才 3 个,要是搞个 java 的项目,一个功能好多种实现。。。
zeromake
51 天前
@wingofsky #11
树莓派不是 arm64 ?难道是那个 arm 32 位的树莓派?
neotheone2333
51 天前
现在只要安装 gin ,go.mod 里面就有这三个 json 库
chendy
51 天前
有点历史的 java 项目一样
被各种历史依赖带进来的两个版本的 jackson ,能让代码里塞满 JsonObject 的 jsonlib ,某些阿里系依赖带进来的 fastjson ,再来点 gson ,如果有轻量化爱好者再来个 moshi ,齐了
如果有更古老或者更阴间的,还有用各种正则各种 indexof 自己解析 json 和拼 json 的神秘代码
wingofsky
51 天前
@zeromake 🙈因为我看你说的是 amd64.....
tsanie
51 天前
给你看看 .net 的官方库

MagmaBlock
51 天前
感觉不如我们 npm ,一个小项目可能都有几十个 lodash
没办法的事
crackidz
51 天前
gogoprotobuf 不更新了啊...

后面两个 Google 的库,区别是 API 变掉了,所以可以看成一个是 V1 版本,一个是 V2 版本。没错,这就是 Google XD

json 的库你没都算标准库,不仅如此,连标准库都要出 v2 了 https://github.com/golang/go/discussions/63397
kaiveyoung
51 天前
@zeromake 64M RAM ,128M NAND ,300Mhz 的 arm32 设备上跑了各种 go 程序

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

https://tanronggui.xyz/t/1106653

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

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

© 2021 V2EX