Зачем нужен символ подчёркивания (_) в импорте пакета?

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

В Go символ нижнего подчёркивания (_) при импорте пакета используется для того, чтобы импортировать пакет исключительно ради его инициализации (вызова функции init()), но при этом не использовать напрямую экспортируемые из него идентификаторы. Это позволяет, например, регистрировать драйверы, плагины или выполнять побочные эффекты без явного обращения к пакету в коде.

Пример:

import _ "github.com/lib/pq" // импорт драйвера базы данных только для инициализации

Здесь пакет pq не используется напрямую, но его init() функция регистрирует драйвер в базе данных.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку