Программа на 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 – базовый синтаксис.