@Adatan

Проблема глобальных переменных?

Вопрос к людям, которые знают тонкости языка Go. Какая существует проблема использования глобальных переменных в проекте? Например в некоторых случаях я использую глобальную переменную базы данных, чтобы в нужных мне функция (в разных пакетах) выполнять с ней какие-либо действия. Существуют каки-либо другие способы взаимодействия данных(переменных) между пакетами?
  • Вопрос задан
  • 153 просмотра
Пригласить эксперта
Ответы на вопрос 1
@ghostiam
На Go писатель, серверов пинатель.
Передавать структуру с методами/интерфейс бд явно в другую функцию/пакет

Чтобы не повторяться, посмотрите мой другой ответ про логгер, принцип тот же
https://qna.habr.com/answer?answer_id=1427366#answ...

Проблемы:
Если вы решите вынести код в другой проект или покрыть его тестами, то сделать с глобальными переменными будет это очень сложно.
Так же, это пока у вас одна переменная глобальная с бд, а позже будет ещё и ещё, что усложнит поддержку кода, так как будет не понятно, откуда эта переменная берётся, кто её создаёт, в каком порядке нужно выполнять код, чтобы переменная глобальная была не пуста и т.д.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы