在golang中编写通用函数的良好实践

时间:2018-12-13 02:50:37

标签: go

我正在使用golang编写Web服务器应用程序。

需要在同一软件包中的多个控制器中使用非常通用的数据库查询功能findUserByEmail(DB gorm.DB, email string )

不确定应该在哪里声明此函数,以便不需要时在每个控制器中都复制此代码。

我可以在其中一个控制器中将其设置为FindUserByEmail(DB gorm.DB, email string )。这样我就可以在其他任何控制器中使用它。但这似乎不是一个好习惯吗?

1 个答案:

答案 0 :(得分:0)

例如,您必须为称为db的数据库函数创建一个单独的程序包。 在您的项目中创建一个名为db的文件夹,并将所有代码放在此处。

package db

FindUserByEmail(DB gorm.DB, email string ) {
...
}

在需要时,您可以像这样访问软件包:

import "myproject/db"

db.FindUserByEmail(gorm,"test@gmail.com")