Go惯用类型转换函数命名

Go惯用类型转换函数命名,go,naming-conventions,Go,Naming Conventions,: 调用字符串转换器方法string not ToString 也就是说,要将MyType转换为String,惯用的类型转换函数命名为MyType.String()。所以为了进一步扩展这个概念, 假设我需要序列化MyType到JSON。我应该如何命名我的类型转换函数?当然MyType到JSON将是MyType.JSON(),但是从JSON转换如何呢?那么,如何用惯用的方式命名这样的函数呢?请注意JSON不是一种类型。使用JSON或XML等编码对数据结构进行编码不是类型转换。对于JSON,请使用J

:

调用字符串转换器方法string not ToString

也就是说,要将
MyType
转换为
String
,惯用的类型转换函数命名为
MyType.String()
。所以为了进一步扩展这个概念,


假设我需要序列化
MyType
JSON
。我应该如何命名我的类型转换函数?当然
MyType
JSON
将是
MyType.JSON()
,但是从
JSON
转换如何呢?那么,如何用惯用的方式命名这样的函数呢?

请注意
JSON
不是一种类型。使用JSON或XML等编码对数据结构进行编码不是类型转换。对于JSON,请使用JSON包文档中定义的
MarshalJSON
UnmarshalJSON
方法,以便可以使用标准库JSON封送和反封送:

和;)怎么样。尽管请记住,这些都是用于定制json(un)封送的,但在我看来,明智的做法是根本没有用于此的方法,只需将实例放入
json.Marshal
json.Unmarshal
。尝试将每个功能强制到方法中并不是一条可行之路。