Программа на Go как правило состоит из:
- объявление пакета
- импорт пакетов
- функций
- переменных
- операторов и выражений
- комментариев
Содержание
Hello, World на Go
Структура
Рассмотрим классический пример — «Hello, World» на Go:
package main
import "fmt"
func main() {
/* This is my first sample program. */
fmt.Println("Hello, World!")
}
Рассмотрим её построчно:
package main: задаёт имя пакета, пакетmainявляется точкой входа по умолчанию для программ на Goimport "fmt": команда препроцессору, указывающая на необходимость импортировать пакетfmtиз стандартного набора пакетов Go (/usr/lib/go/src/fmt)func main(): начало выполнения программы, аналогично C/* string */: комментарийfmt.Println(...): вызов функцииPrintln()из пакетаfmtдля вывода текста
Сборка и запуск
Запустить программу на Go можно несколькими способами.
Первый вариант — с помощью go run:
[simterm]
$ go run hello.go Hello, World!
[/simterm]
Второй вариант — собрать исполняемый файл, и вызывать непосредственно его:
[simterm]
$ go build hello.go $ ls -l total 1984 -rwxr-xr-x 1 setevoy setevoy 2025142 Feb 20 11:07 hello -rwxr-xr-x 1 setevoy setevoy 118 Feb 20 11:02 hello.go
[/simterm]
Запускаем:
[simterm]
$ ./hello Hello, World!
[/simterm]
Сборка для других платформ
Т.к. программы Go представляют собой исполняемые файлы — для каждой платформы необходимо собирать свой файл.
Быстрый пример сборки exe-файла для Windows, выполнямая на Arch Linux:
[simterm]
$ env GOOS=windows GOARCH=amd64 go build hello.go $ ls -l total 4000 -rwxr-xr-x 1 setevoy setevoy 2025142 Feb 20 11:07 hello -rwxr-xr-x 1 setevoy setevoy 2063872 Feb 20 11:42 hello.exe -rwxr-xr-x 1 setevoy setevoy 118 Feb 20 11:02 hello.go
[/simterm]
Проверяем с помощью wine:
[simterm]
$ WINEDEBUG=fixme-all wine64 hello.exe Hello, World!
[/simterm]
Продолжение — часть 2 — базовый синтаксис.
3 793 views