1. Пошаговое создание нового проекта
Проект в GoLand — это не просто папка с файлами, а целый контейнер, в котором среда хранит всё, что связано с вашей будущей программой. В проекте лежат:
- исходный код, файлы с расширением .go;
- настройки проекта, например, какую версию компилятора Go использовать;
- файлы управления зависимостями (go.mod);
- вспомогательные файлы и ресурсы.
Запускаем GoLand
На стартовом экране нажмите на кнопку New Project. Если уже открыт другой проект, нажмите в верхнем меню File -> New -> Project...
Настройка параметров проекта
Обратите внимание на левое меню окна: там обязательно должен быть выбран пункт Go. Теперь пройдемся по основным полям:
- Location: путь, где на компьютере будет храниться проект. Последнее слово в пути — это имя папки проекта. ЗМожно оставить по умолчанию или написать другое, пускай будет
tasker. - GOROOT: путь к установленному компилятору Go. Если поле пустое или там указана старая версия, нажмите кнопку Add SDK... (или плюс), выберите Download... и укажите версию 1.25. GoLand сама скачает и установит официальный дистрибутив нужной версии в систему.
- Enable vendoring support automatically: Вендоринг — это механизм локального хранения всех скачанных внешних библиотек прямо внутри вашего проекта, в специальной папке
vendor. Это гарантирует, что проект соберется даже без доступа к интернету или при удалении оригинального репозитория библиотеки. Включение этой галочки указывает IDE автоматически использовать эту папку для разрешения импортов, если она существует. Для старта обучения внешние библиотеки нам пока не понадобятся, поэтому эту опцию можно просто оставить в состоянии по умолчанию. - Environment в этом поле можно задать специфические системные переменные, которые будут применяться при работе компилятора и утилит Go в рамках этого проекта (например,
GOPROXY,GOPRIVATEилиCGO_ENABLED). Тонкая настройка окружения часто требуется в корпоративных сетях для загрузки пакетов через внутренние серверы или для кросс-компиляции под другие операционные системы. На данном этапе обучения стандартных настроек системы более чем достаточно, поэтому поле можно оставить пустым. - Add sample code: обязательно поставьте эту галочку. IDE автоматически создаст для нас базовый файл с функцией
mainи примером кода, чтобы не писать его с нуля.
Все настройки сделаны. Нажимайте Create.
GoLand создаст структуру проекта и откроет главное окно редактора. Внизу экрана может появиться надпись Indexing... — это среда читает стандартную библиотеку языка, чтобы помогать вам подсказками. Просто подождите минуту.
При первом запуске на Windows вы можете увидеть уведомление: "Microsoft Defender may affect IDE performance". Смело нажимайте Automatically или Exclude folders. Среда добавит папку с проектом во временные исключения антивируса, чтобы сборка кода работала быстро.
2. Краткий обзор и первый код
Перед вами открылся редактор кода с автоматически сгенерированным файлом main.go.
1. Боковое меню с инструментами.
2. Project — основное окно для перемещения по структуре проекта (слева).
3. Текущий открытый файл main.go по центру.
4. Кнопки для Run ▶ (запуск) и Debug (отладка) в верхней панели и на полях редактора.
Разбор кода
Благодаря галочке "Add sample code", IDE сгенерировала пример, который отлично демонстрирует базовый синтаксис Go:
package main— указывает, что мы создаем исполняемую программу (бинарный файл), а не библиотеку.import "fmt"— подключение пакета стандартной библиотеки для вывода текста. IDE добавила его автоматически.//TIP ...— комментарий-подсказка со ссылкой на документацию.name := "Go"— мы создали переменнуюname. Обратите внимание: нам не пришлось писать тип переменной (например, string), Go сам догадался по значению благодаря оператору:=.fmt.Printf(...)— вывод форматированного текста. Символ%sработает как заполнитель, куда подставляется значение переменнойname.for i := 1; i <= 5; i++— это цикл. Код внутри фигурных скобок выполнится 5 раз (для чисел от 1 до 5).
Красный круг на полях слева или иконка в коде — это точка входа в режим отладки (debug/breakpoint). О ней речь пойдет в следующей лекции. Если вы случайно поставили такую точку, просто кликните по ней еще раз, чтобы убрать.
3. Структура проекта
Внимательнее посмотрим на структуру проекта слева (окно Project).
-
.idea— служебная скрытая папка IDE с настройками проекта. Её не нужно изменять вручную. -
tasker— корневая папка проекта. В отличие от языков, требующих громоздких структур (вроде папки src), в Go исходные файлы часто лежат прямо в корне.-
main.go— файл, который мы сейчас рассматриваем. Внутри него находится функцияfunc main(). Это "точка входа" — именно с неё начинается выполнение любой программы. -
go.mod— файл модуля. Среда создала его автоматически. Он хранит имя вашего модуля и версию языка.
-
-
External Libraries— виртуальная папка, где отображаются подключенные зависимости. Сейчас там находится наш Go SDK, исходные коды стандартной библиотеки языка.
4. Запуск программы
Самое приятное — запустить код и увидеть результат. В GoLand есть отличный и безопасный способ запускать конкретный файл.
Найдите в редакторе кода функцию func main(). Слева от неё, на полях с номерами строк (в так называемом gutter), есть зелёный треугольник ▶. Нажмите на него и выберите Run 'go build tasker'.
Внизу откроется окно Run/Console, и вы увидите результат выполнения программы:
Разберем вывод:
Служебные строки (серые строки с путями и тегом #gosetup) — это параметры окружения, которые среда разработки передает компилятору для правильной сборки.
Вывод программы (обычный текст) — это результат работы ваших fmt.Println и fmt.Printf.
Код завершения: Process finished with exit code 0. Это финальный отчет операционной системы. По общепринятому стандарту, exit code 0 означает, что программа успешно выполнила все инструкции и завершилась без ошибок. Любой другой код означает, что программа "упала" в процессе работы.
Что происходит при нажатии Run?
- Компиляция кода — компилятор Go (команда
go build) читает вашmain.goи мгновенно собирает из него готовый исполняемый бинарный файл во временной директории. - Запуск — операционная система запускает этот бинарный файл, начиная выполнение с
func main(). - Выполнение — инструкции выполняются, и результат выводится в окно консоли.
5. Alt + Enter и горячие клавиши
Работая в GoLand, вы иногда будете видеть серый текст-подсказку прямо в редакторе или подчеркивания кода.
Сочетание Alt + Enter или Option + Enter на macOS — это главная волшебная палочка. Если среда подчеркнула код красным (ошибка) или желтым (предупреждение), поставьте туда курсор и нажмите эти клавиши. Среда не просто объяснит проблему, но и предложит варианты автоматического исправления.
Также IDE поддерживает множество других шорткатов для навигации. Их можно посмотреть в документации JetBrainsили прямо в меню: Help -> Keyboard Shortcuts PDF.
6. Типичные ошибки
Иллюзия «зависшей программы»
Если вы напишете в коде функцию для считывания данных с клавиатуры — fmt.Scan(&variable), при запуске в консоли может не появиться никакого текста, а будет просто мигать курсор. Часто кажется, что среда зависла. На самом деле программа просто ждет ввода. Кликните мышкой в окно консоли Run, напечатайте текст и нажмите Enter. Программа считает его и продолжит работу.
Запускается "не тот" код (Run Configurations)
Каждый раз, когда вы нажимаете зеленый треугольник около main(), среда создает конфигурацию запуска. Если вы изменили проект, но затем нажали Run в самом верху окна, может запуститься предыдущая конфигурация. Чтобы всегда запускать именно тот код, который вы сейчас редактируете, нажимайте зелёный треугольник ▶ слева от нужного func main() прямо в редакторе.
Пропущен или неправильно написан func main()
Если вы забудете написать func main() или назовете функцию func myMain(), программа не запустится, так как операционная система не найдет стартовую точку. Убедитесь, что она всегда называется именно main и находится в package main.
Не выбран GOROOT для проекта
Если при создании проекта вы случайно пропустили шаг с выбором SDK, попытка импортировать базовые пакеты (например, "fmt") выдаст ошибку "package not found". Это легко исправить через настройки: File → Settings → Go → GOROOT, выбрав там установленную версию 1.25.
Правила именования и спецсимволы в путях
Хотя современные операционные системы терпимее к именам файлов, золотое правило разработки гласит: пути к проектам не должны содержать иероглифы, буквы с диакритикой, пробелы или нестандартные спецсимволы и т.д.. Использование локализованных названий папок часто приводит к непредсказуемым ошибкам компилятора и системных утилит. Используйте только базовые латинские буквы и цифры. Кроме того, в экосистеме Go есть свой стандарт нейминга: названия проектов и модулей принято писать в нижнем регистре короткими понятными словами. Если слов несколько, их обычно разделяют дефисом task-manager или пишут слитно tasker. Рекомендуется избегать заглавных букв и подчеркиваний в названиях корневых папок проектов.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ