Menu
CoddyTech

Пустой идентификатор `_`

Часть раздела Логика и управление потоком путешествия по GO на Coddy. Урок 55 из 68.

Иногда пакет нужно импортировать не для использования его экспортируемых функций или переменных, а для запуска его побочных эффектов. Самый распространённый побочный эффект — выполнение функции init, которая запускается автоматически при импорте пакета.

В Go для этой цели предусмотрен пустой идентификатор _. Когда ты импортируешь пакет с помощью пустого идентификатора, Go импортирует пакет и выполняет любой код инициализации, но не требует от тебя использовать экспортируемые идентификаторы этого пакета.

import _ "database/sql/driver"

Это особенно полезно, когда нужно, чтобы пакет зарегистрировался в другой системе или выполнил задачи настройки, но при этом вы напрямую не вызываете ни одну из его функций в своём коде. Без пустого идентификатора Go выдаст ошибку компиляции из-за импорта неиспользуемого пакета.

Пустой идентификатор сообщает Go: «Импортируй этот пакет ради его побочных эффектов, но я не буду напрямую обращаться к нему в своём коде». Так список импортов остаётся чистым, а нужная инициализация всё равно выполняется.

Попробуйте сами

В этом уроке нет задания по программированию.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком

Потренируйтесь самостоятельно: Онлайн-компилятор Go