В golang импорт пакетов возможен только с github?

Нет, в Golang импорт пакетов не ограничен только GitHub. В Golang есть концепция модулей (modules), которая позволяет импортировать пакеты из разных источников.

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

Когда вы добавляете зависимость в свой проект, вы можете указать путь к репозиторию, в котором находится пакет. Этот путь может быть в формате GitHub (например, github.com/username/repo), но также может быть в формате других хостинг-платформ или даже локального пути в файловой системе.

Например, чтобы импортировать пакет из репозитория на GitHub, вы можете использовать следующий синтаксис:

import "github.com/username/repo/package"

Однако вы также можете импортировать пакеты из других источников, используя их полный URL:

import "example.com/username/repo/package"

Примером других источников может быть Bitbucket, GitLab или другие аналогичные системы хранения кода. Вы также можете использовать локальный путь для импорта пакетов, находящихся на вашем компьютере:

import "/path/to/local/package"

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

В заключение, в Golang импортирование пакетов не ограничено только GitHub, вы можете импортировать пакеты из разных источников с использованием модулей и указать конкретные версии для управления зависимостями в вашем проекте.