直接或通过返回操作struct

时间:2014-04-07 16:43:21

标签: go

我注意到在写关于以下问题的golang时我并不一致:通过结构本身直接或使用return来操作结构中的结构更好吗?由于这个问题听起来很愚蠢,这里有一个例子:

直接操作结构

http://play.golang.org/p/7G5D8Pm5wv

通过返回

http://play.golang.org/p/L9Z_t7pA8b

请解释为什么一次尝试比另一次更好。如果两者都错了,请举一个可以的例子。

提前致谢!

1 个答案:

答案 0 :(得分:2)

我认为这取决于你如何使用你的结构。如果你将它用作一个对象,即那个函数与那个类型的接收器,我认为你应该用函数操纵状态(结构的字段)。如果您将结构纯粹用作数据存储,那么直接操作字段似乎更好。

清洁代码:Robert C. Martin的敏捷软件工艺手册,第6章关于对象&数据结构

谷歌的那本书,你会发现在线版本。

http://en.wikipedia.org/wiki/Law_of_Demeter