Menu
Coddy logo textTech

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

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

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

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

import _ "database/sql/driver"

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

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

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

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

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

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

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

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

Шпаргалка

Используйте пустой идентификатор _ для импорта пакетов ради их побочных эффектов без использования их экспортируемых функций:

import _ "database/sql/driver"

Это импортирует пакет и запускает его код инициализации, не требуя от вас использования каких-либо его экспортируемых идентификаторов. Полезно, когда пакетам необходимо зарегистрироваться в других системах или выполнить задачи по настройке.

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

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

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

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

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