身受java相关语言的影响,方法只能被class定义。
而在golang语言中,比如方法A()可以被包package service定义,调用的时候:service.A()
也可以被struct User定义,调用的时候:var user User; user.A()
除了调用过程不一样,但结果其实都是一样的。所以想请教各位,你们是如何组织golang方法的?或者说在某些情况下会导致结果不一样?那他们又有什么不同?
==== 补充一下问题====
这导致了一个比较纠结的问题,比如数据库中有一个user表,为了更好的去维护数据库的操作,通常会建立一个数据持久层。
在这种情况下,到底该定义一个user struct?,如下
type User struct {
}
func (user User) insert(){
............
}
还是要定义一个user package?,如下
package user
func insert(){
............
}
个人喜欢用struct来对应数据表和数据
有struct自带方法来做增删改查
关键是同一个目录下不能包含多个package,也就是你定义一个package就要单独一个文件夹,这样子太乱了。。目录结构太深。