Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goSpPkFN 49 of 280 menu
◀ ▶

Имя папки и пакета в Go

Имя в строке пакета и имя папки лучше держать одинаковыми. Так проще найти код и не перепутать путь импорта с именем в коде после подключения.

Формально строка package может не совпадать с названием каталога. При подключении путь строят по папке и модулю, а в выражениях используют имя из строки package, не имя папки.

Положим код в box/greet.go, но назовем пакет greet:

package greet func Hello() string { return "hello" }

Подключение идет по папке box, а в коде пишут greet.Hello:

package main import ( "fmt" "example.com/app/box" ) func main() { fmt.Println(greet.Hello()) }

Путь импорта "example.com/app/box" не равен имени greet в выражениях. Так лучше не делать: имя папки и пакета обычно совпадают, и читателю не приходится запоминать два разных слова для одного места.

Дан файл box/greet.go с package greet. Напишите строку импорта для main при модуле "example.com/app".

Скажите, через какое имя в коде вызывают Hello после подключения box с package greet: box или greet.

Переименуйте папку в greet, оставьте package greet и обновите импорт в main на согласованный путь.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить