Традиционно первая программа на любом языке называется «Hello World» — она просто выводит приветствие в консоль. На ней мы разберем структуру типичного файла в Go.
Создание проекта
В современном Go для управления кодом используются модули. Модуль — это коллекция пакетов, имеющая описание зависимостей. Создадим папку для нашего проекта в любом удобном месте (например, в вашей домашней директории):
- Откройте терминал.
- Создайте папку и перейдите в неё: ```bash mkdir hello-go cd hello-go
3. Инициализируйте модуль (замените `example.com/hello` на любое имя):
```bash
go mod init [example.com/hello](https://example.com/hello)
Это создаст файл go.mod, который говорит Go, что здесь находится корень вашего проекта.
Написание кода
Откройте созданную папку в VS Code (или другом редакторе) и создайте файл main.go. Введите в него следующий код:
package main
import "fmt"
// Это комментарий: наша первая программа
func main() {
fmt.Println("Hello, World!")
}
Запуск программы
Вернитесь в терминал и выполните команду:
go run main.go
Вы должны увидеть сообщение Hello, World!.
Как это работает? Команда
go runкомпилирует ваш код во временный файл, запускает его и сразу удаляет результат компиляции. Это удобно для быстрой проверки идей.
Разбор кода по шагам
Программы на Go читаются сверху вниз и слева направо.
1. Определение пакета
package main
Любой файл Go должен начинаться с package. Пакеты — это способ организации кода.
- Пакет
main— особенный. Он говорит компилятору, что этот файл должен быть скомпилирован в исполняемый файл, а не в библиотеку.
2. Импорт пакетов
import "fmt"
Ключевое слово import позволяет подключать стороннюю функциональность. Пакет fmt (сокращение от format) содержит инструменты для ввода и вывода текста. Обратите внимание, что имя пакета всегда пишется в двойных кавычках.
3. Комментарии
// Это однострочный комментарий
/* А это
многострочный комментарий */
Всё, что написано после // или внутри /* */, игнорируется компьютером. Это заметки для разработчика.
4. Функция main
func main() {
...
}
Функция — это блок кода, выполняющий конкретную задачу.
func— объявление функции.main— имя. В пакетеmainфункция с именемmainявляется “точкой входа”: именно с неё начинается выполнение программы.- Код функции всегда заключается в фигурные скобки
{ }.
5. Вывод текста
fmt.Println("Hello, World!")
Здесь мы обращаемся к функции Println (Print Line) из пакета fmt. Она выводит текст на экран и автоматически добавляет переход на новую строку в конце.
Инструмент go doc
Go славится своей встроенной документацией. Вам не обязательно идти в интернет, чтобы узнать, как работает та или иная функция. Введите в терминале:
go doc fmt.Println
Вы получите описание функции прямо в консоли. Для изучения всех функций пакета можно использовать:
go doc fmt
Задачи
- Что такое пакет
main? Чем он отличается от других названий пакетов? - Типы комментариев. Напишите программу, содержащую и однострочный, и многострочный комментарий.
- Пакет
os. Найдите с помощью командыgo doc os.Exitинформацию о том, что делает эта функция. - Практика. Измените программу так, чтобы она выводила:
Hello, my name is [Ваше имя]. - Эксперимент. Попробуйте удалить строку
import "fmt"и запустить программу. Какую ошибку выдаст компилятор?