Хорошая практика, чтобы написать общую функцию в Голанге - PullRequest
0 голосов
/ 13 декабря 2018

Я использую golang для записи приложения веб-сервера.

Нужно использовать очень распространенную функцию запроса к базе данных findUserByEmail(DB gorm.DB, email string ) на нескольких контроллерах в одном пакете.

не знаю, гдея должен объявить эту функцию так, чтобы мне не нужно было копировать этот код в каждый контроллер, когда мне это нужно.

Я могу сделать это как FindUserByEmail(DB gorm.DB, email string ) в одном из контроллеров.чтобы я мог использовать его в любых других контроллерах.но это, кажется, не очень хорошая практика?

1 Ответ

0 голосов
/ 13 декабря 2018

Вы должны создать отдельный пакет для ваших функций базы данных, например, с именем db.создайте папку в своем проекте с именем db и поместите все коды туда.

package db

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

Когда вам это нужно, вы можете получить доступ к пакету следующим образом:

import "myproject/db"

db.FindUserByEmail(gorm,"test@gmail.com")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...