关于golang方法与package和struct的关系

查看:144
本文介绍了关于golang方法与package和struct的关系的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

身受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就要单独一个文件夹,这样子太乱了。。目录结构太深。

这篇关于关于golang方法与package和struct的关系的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆