Язык программирования Go: компиляторы
Содержание:
1. Философия и возможности;
2.Компиляторы (Вы читаете данный раздел);
3. IDE и утилиты;
4. Документация.
На сегодняшний день существует два зрелых компилятора Go: официальный набор средств разработки от Google (под собирательным названием gc) и gccgo, входящий в состав коллекции компиляторов gcc. Начнем с официального компилятора. Gc на данный момент не входит в состав ни одного из дистрибутивов Linux, поэтому рекомендуемый способ его установки - сборка из исходных кодов, подробно описанная на http://golang.org/doc/install.html. Для сборки придется установить достаточно много зависимостей, но все они доступны в репозиториях большинства дистрибутивов. В Ubuntu есть ppa-репозиторий для компилятора и установка сводится к трем простым командам:
Существуют пакеты и для других дистрибутивов (Fedora, OpenSUSE, Arch), список которых можно найти на странице http://go-lang.cat-v.org/packages.
gccgo также пока не входит в состав основных дистрибутивов, но в следующей версии Ubuntu 11.10 (и, видимо, других дистрибутивов) он уже будет доступен из основного репозитория как часть gcc 4.6. Установить его можно сборкой из исходных кодов, но эта процедура достаточно сложна, поскольку потребуется работать с полным исходным кодом gcc и множеством зависимостей (http://www.atoztoa.com/2009/11/gccgo-mini-howto.htmi). В этой статье я буду использовать официальный компилятор gc.
Компилятор gc реализован «в стиле Plan 9», поэтому наверняка покажется непривычным. Имена команд компилятора и компоновщика зависят от архитектуры системы. Для 32-битных систем - это 8g и 8l, для 64-битных - 6g и 6l, а для процессоров ARM - 5g и 5l. Исходные файлы должны иметь расширение «go». Сборка и запуск простейшей программы, состоящей из одного файла, на 64-битной системе выглядит так:
Можно, конечно, написать и в одну строку
чего обычно достаточно для ознакомления с языком. Для более сложных проектов нужно использовать make-файлы, примеры которых устанавливаются вместе с компилятором. Современные системы сборки, такие как CMake и Scons, пока не поддерживают go и это заметно снижает переносимость программ, написанных на этом языке (наладить компиляцию с помощью make-файлов в Windows не так просто).
1. Философия и возможности;
2.
3. IDE и утилиты;
4. Документация.
На сегодняшний день существует два зрелых компилятора Go: официальный набор средств разработки от Google (под собирательным названием gc) и gccgo, входящий в состав коллекции компиляторов gcc. Начнем с официального компилятора. Gc на данный момент не входит в состав ни одного из дистрибутивов Linux, поэтому рекомендуемый способ его установки - сборка из исходных кодов, подробно описанная на http://golang.org/doc/install.html. Для сборки придется установить достаточно много зависимостей, но все они доступны в репозиториях большинства дистрибутивов. В Ubuntu есть ppa-репозиторий для компилятора и установка сводится к трем простым командам:
sudo add-apt-repository ppa:gophers/go
sudo apt-get update
sudo apt-get install golang
sudo apt-get update
sudo apt-get install golang
Существуют пакеты и для других дистрибутивов (Fedora, OpenSUSE, Arch), список которых можно найти на странице http://go-lang.cat-v.org/packages.
gccgo также пока не входит в состав основных дистрибутивов, но в следующей версии Ubuntu 11.10 (и, видимо, других дистрибутивов) он уже будет доступен из основного репозитория как часть gcc 4.6. Установить его можно сборкой из исходных кодов, но эта процедура достаточно сложна, поскольку потребуется работать с полным исходным кодом gcc и множеством зависимостей (http://www.atoztoa.com/2009/11/gccgo-mini-howto.htmi). В этой статье я буду использовать официальный компилятор gc.
Компилятор gc реализован «в стиле Plan 9», поэтому наверняка покажется непривычным. Имена команд компилятора и компоновщика зависят от архитектуры системы. Для 32-битных систем - это 8g и 8l, для 64-битных - 6g и 6l, а для процессоров ARM - 5g и 5l. Исходные файлы должны иметь расширение «go». Сборка и запуск простейшей программы, состоящей из одного файла, на 64-битной системе выглядит так:
$ 6g file.go
$ 6l file.6
$ ./6.out
$ 6l file.6
$ ./6.out
Можно, конечно, написать и в одну строку
6g file.go; 6l file.6; ./6.out
чего обычно достаточно для ознакомления с языком. Для более сложных проектов нужно использовать make-файлы, примеры которых устанавливаются вместе с компилятором. Современные системы сборки, такие как CMake и Scons, пока не поддерживают go и это заметно снижает переносимость программ, написанных на этом языке (наладить компиляцию с помощью make-файлов в Windows не так просто).