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 для вывода, который включает информацию о дате и времени
Эти основные методы вывода являются важным средством взаимодействия с пользователями и часто используются для отладки программ для вывода критической информации.