Go惯用类型转换函数命名
: 调用字符串转换器方法string not ToString 也就是说,要将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
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
。尝试将每个功能强制到方法中并不是一条可行之路。