代码之家  ›  专栏  ›  技术社区  ›  Hank X

在golang中编写公共函数的良好实践

go
  •  -4
  • Hank X  · 技术社区  · 6 年前

    我正在使用golang编写一个web服务器应用程序。

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

    不确定我应该在哪里声明这个函数,这样我就不需要在需要时在每个控制器中复制这个代码。

    我可以做得很好 FindUserByEmail(DB gorm.DB, email string ) 在其中一个控制器中。这样我就可以在其他控制器上使用它了。但这似乎不是一个好的做法?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Mostafa Solati    6 年前

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

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

    当您需要时,可以按以下方式访问包:

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