Ваша первая программа

Традиционно первая программа на любом языке называется «Hello World» — она просто выводит приветствие в консоль. На ней мы разберем структуру типичного файла в Go.

Создание проекта

В современном Go для управления кодом используются модули. Модуль — это коллекция пакетов, имеющая описание зависимостей. Создадим папку для нашего проекта в любом удобном месте (например, в вашей домашней директории):

  1. Откройте терминал.
  2. Создайте папку и перейдите в неё: ```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

Задачи

  1. Что такое пакет main? Чем он отличается от других названий пакетов?
  2. Типы комментариев. Напишите программу, содержащую и однострочный, и многострочный комментарий.
  3. Пакет os. Найдите с помощью команды go doc os.Exit информацию о том, что делает эта функция.
  4. Практика. Измените программу так, чтобы она выводила: Hello, my name is [Ваше имя].
  5. Эксперимент. Попробуйте удалить строку import "fmt" и запустить программу. Какую ошибку выдаст компилятор?

Дополнительные материалы