📌 Кейсы использования
1. Конфликт имён
Два пакета с одинаковым именем. Без алиасов код не скомпилируется.
import (
sqlDB "project/sql/db"
nosqlDB "project/nosql/db"
)
2. Длинный путь импорта
Сокращает шум при частом обращении к пакету с громоздким путём:
import (
mh "myproject/subproject/module/helpers"
)
3. Неудобное или неочевидное имя пакета
Актуально для сгенерированного кода, когда имя пакета не совпадает с тем, что ожидает читатель:
import (
validator "github.com/myorg/gen/v2/validate_pb"
)
4. Пустой импорт
_Специальный алиас для импорта ради побочных эффектов: регистрация драйвера,
init()-функция; без использования пакета в коде:import _ "github.com/lib/pq" // регистрирует PostgreSQL-драйвер
5. Импорт в текущее пространство имён
.Позволяет обращаться к экспортируемым именам пакета без префикса:
import . "math"
r := Sqrt(16) // вместо math.Sqrt(16)
🐸 Библиотека Go для собеса