go - 相当于 json marshal 的 Stringer

标签 go

我可以实现 Stringer 来指定 fmt.Print() 如何将我的自定义类型写入字符串。 json marshal 有等效项吗?

我想在 go 中存储唯一值,并在 json 中将其表示为一个 slice 。在 go 中使用 slice 并不是最佳选择。这个 O(n) 插入似乎是不必要的 - 二叉树或映射会更快,特别是因为我一直保持列表排序。

最佳答案

是的,json.Marshalerjson.Unmarshaler .

实现 MarshalJSONUnmarshalJSON 会给你想要的东西。

关于go - 相当于 json marshal 的 Stringer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27967317/

相关文章:

go - 如何在 Go 中实现 PHP 函数 `die()`(或 `exit()`)?

loops - 是否应该在阻止来自 channel 的for-select循环时将请求对象传递给goroutine?

go - 这里有资源泄漏吗?

go - 在 Go 中,给定一个接口(interface){},我知道它实现了什么接口(interface),我如何转换成它

go - 如何减少返回类型的冗长

json - 在 json.Marshal() 中指定结构格式

docker - 如何通过简单地从头开始在容器中设置随机 UID 来创建非 root 用户?

linux - 在 Linux 中安装 vim-go?

go - 我可以在 go 中使用什么数字类型来获得最大的数字?

docker - 无法使用 docker 存储库中 vendor 目录中的包