1 Основная структура программы на Go

Программа на Go начинается с объявления пакета, за которым следует импорт необходимых пакетов, объявление переменных на уровне пакета, констант и типов, а затем функции, содержащиеся в пакете. На примере программы "Hello World" приведена типичная основная структура программы на Go:

package main // Объявление основного пакета, указывающее на самостоятельно выполняемую программу

import "fmt" // Импорт пакета fmt, который содержит функции ввода и вывода

// Функция main, входная точка программы
func main() {
    fmt.Println("Привет, мир!") // Вывод строки Привет, мир! в терминал
}

Понятие и назначение пакетов

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

Правила именования исходных файлов

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

Использование комментариев в программе

В языке Go комментарии представлены двумя формами: однострочные комментарии, начинающиеся с //, и многострочные комментарии, начинающиеся с /* и заканчивающиеся */. Компилятор игнорирует содержимое комментариев.

// Это однострочный комментарий

/*
Это многострочный комментарий,
который распространяется на несколько
строк.
*/

2. Функция main и входная точка программы

В программе на Go функция main специально предназначена как входная точка программы. Среда выполнения Go автоматически вызывает функцию main в основном пакете для запуска выполнения программы.

package main

import "fmt"

func main() {
    fmt.Println("Привет, мир!")
}

Функция main не принимает аргументов и не имеет возвращаемых значений. После выполнения функции main программа автоматически завершается. Если для завершения программы требуется возвращать код состояния, следует использовать функцию os.Exit.

3. Сборка и запуск программы

Использование команды go build

Запуск команды go build компилирует файл исходного кода и генерирует исполняемый файл. В терминале перейдите в каталог, где расположен исходный файл, и затем выполните следующую команду:

go build hello_world.go

После успешного выполнения появится исполняемый файл с именем hello_world (или hello_world.exe в Windows) в текущем каталоге.

Использование команды go run

Команда go run компилирует и запускает программу на Go, что очень удобно для быстрого тестирования и разработки. Для запуска программы Hello World можно ввести:

go run hello_world.go

После выполнения этой команды вы сразу увидите вывод "Привет, мир!" в терминале.

4. Вывод программы

В программе на Go функцию Println, предоставляемую пакетом fmt, можно использовать для вывода информации в терминал. Ниже приведен пример кода, который выводит "Привет, мир!" в терминал:

package main

import "fmt"

func main() {
    fmt.Println("Привет, мир!") // Вывод в терминал
}

После выполнения программы вывод можно непосредственно просмотреть в командной строке терминала. Кроме того, более сложные требования к выводу можно реализовать с использованием пакета log или непосредственным управлением стандартным потоком вывода os.Stdout.

import "os"
os.Stdout.WriteString("Привет, мир!\n") // Прямое управление стандартным потоком вывода
import "log"
log.Println("Привет, мир!") // Использование пакета log для вывода, который включает информацию о дате и времени

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