请问这两种定义函数的方法区别

guichun68 · 2018-10-16 15:14:00 · 913 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2018-10-16 15:14:00 的主题,其中的信息可能已经有所发展或是发生改变。

方式一:

type Database struct {
    Self *gorm.DB
    Init func()
}

func Init() {
    //……
}

方式二:

type Database struct {
    Self *gorm.DB
}
func (db *Database) Init() {
    //……
}

请问各路大神以上两种写法中的Init函数有和区别?


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

913 次点击  
加入收藏 微博
2 回复  |  直到 2018-10-17 18:29:57
mlzhou
mlzhou · #1 · 6年之前

第一种写法根本就不属于Database的方法,它只是一个全局函数,第二种就是正常的方法,receiver是 *Database所以可以修改该对象中的数值

guichun68
guichun68 · #2 · 6年之前
mlzhoumlzhou #1 回复

第一种写法根本就不属于Database的方法,它只是一个全局函数,第二种就是正常的方法,receiver是 *Database所以可以修改该对象中的数值

谢谢,明白了

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传