Go惯用类型转换函数命名

问题描述

Effective Go says

调用您的字符串转换方法String而不是ToString。

即,要将MyType转换为String,惯用类型转换函数的命名为MyType.String()。因此,为了进一步扩展这个概念,

说我需要将MyTypeJSON之间进行序列化。我应该如何命名我的类型转换函数?从MyTypeJSON当然是MyType.JSON(),但是如何从JSON转换,如何习惯地命名该函数呢?

解决方法

请注意,JSON不是类型。使用诸如JSON或XML之类的编码对数据结构进行编码不是类型转换。对于JSON,请使用json包文档中定义的MarshalJSONUnmarshalJSON方法,以便您可以使用标准库JSON封送和封送:

https://golang.org/pkg/encoding/json/