新手上路,本人由C/C++转向Java开发,现在开始转向Go开发,由于java开发习惯,通常为对象编写get、set方法。当我学完Go的基本语法后开始研读一些开源产品时发现,基本很少见有人为struct对象编写get、set方法。在这里想请教大家,Go开发中是否有必要增加get、set方法,如果有,什么情况下需要。此外还有个关于包路径的问题
```
---a
-----b
-------bb.go
-----c
-------cc.go
---aa.go
```
a路径中有一个aa.go文件,同时a路径下有b、c两个子路径,他们中分别含有bb.go和cc.go文件
像这样的包路径是否允许?如果允许,那么aa.go中如何使用b包中和c包中的内容?
非常感谢回答的朋友,
1. 个人觉得随意,更推荐使用go的大小写来控制
2. 可以这这样搞。通过完整路径或者相对路径访问,例如 /a/b/bb或者 ./b/bb - 如果bb.go的package是bb的话。
#1
更多评论
成员属性最好要像C#那样靠编译器来支持或者优化,否则自己去定义那么多get set方法等全是垃圾代码,开发和执行效率都低,golang的函数调用就意味着参数和返回值的一次值拷贝。
#2