Go (Русский)
Go — компилируемый, многопоточный язык программирования со статической типизацией, ориентированный на высокопроизводительные приложения.
Установка
На сегодняшний день существует два компилятора Go и оба доступны в официальном репозитории:
- gc: общее название для официального набора компиляторов 8g(x86), 6g(amd64), 5g(arm), устанавливается с пакетом go
- + быстрая компиляция
- ‒ только статическая линковка(динамическая в планах)
- gccgo: фронтэнд для gcc, входит в состав его коллекции компиляторов, устанавливается с пакетом gcc-go
- + малый размер двоичного файла
- + хорошая оптимизация
- ‒ goroutines становятся полноценными потоками(проблема решается использованием gold линковщика)
Проверка установки
Для проверки работоспособности создайте простенькую программу:
test.go
package main import "fmt" func main() { fmt.Println("Привет, Арч!") }
Запустите программу при помощи Go:
$ go run test.go
Привет, Арч!
Компиляция стандартным компилятором gc (аналог go build -compiler=gc test.go
):
$ go build test.go
Компиляция с помощью gccgo (аналог go build -compiler=gccgo test.go
):
$ gccgo test.go -o test
Компиляция с помощью gccgo и линковщика gold:
$ gccgo test.go -fuse-ld=gold -o test
$GOPATH
В языке Go поиск программ и их зависимостей (например, import пакет
) сначала выполняется в каталогах, прописанных в переменную $GOPATH
, а затем - в переменной $GOROOT
(путь установки go, по умолчанию /usr/lib/go
). Поэтому, чтобы использовать внешние зависимости, а не только базовые, что находятся в $GOROOT
, нужно определить область рабочего пространства в вашем ~/.bash_profile
(или его эквиваленте):
$ export GOPATH=~/go
Создадим также само рабочее пространство:
$ mkdir -p ~/go/{bin,src}
Каталог src
предназначен для хранения исходников проектов, а bin
- для размещения исполняемых файлов, которые получаются, например, при установке наших проектов (go install пакет
) или получении и установки пакета из других источников (go get github.com/путь/к/пакету
).
Для удобства можно также добавить в переменную окружения $PATH
путь к каталогу bin
нашего рабочего пространства, что позволит запускать установленные программы языка Go так же, как, к примеру, и стандартную для linux команду ls
:
$ export PATH="$PATH:$GOPATH/bin"
Для получения дополнительной информации смотрите go help gopath
.