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.