Компания Google за долгие годы приобрела репутацию производителя целого ряда инновационных и интересных проектов. Некоторые из них были приняты и проданы самим Google, а другие отделились и превратились в собственные корпорации.

Это нововведение было вызвано инициативой Google «20% рабочего времени», согласно которой инженерам, помимо их обычной работы, разрешалось работать над своими личными проектами в течение 20% их рабочей недели. Один проект больше, чем другие, появился благодаря инновациям Google. Тот, который оказал разумное влияние на мир разработки: язык программирования Go.

Создание Go

Go был разработан тремя инженерами, Робертом Гриземером, Робом Пайком и Кеном Томпсоном, которые искали способ улучшить сложность C++ и предоставить язык, который работал бы с типом программного обеспечения, над которым они работали в Google. Если эти имена кажутся вам знакомыми, не удивляйтесь. Кен Томпсон — один из основателей операционной системы UNIX. Роб Пайк работал с Томпсоном и Plan 9 в Bell Labs над созданием языка. Роберт Гриземер отвечал за компилятор Java HotSpot; очень классное трио

Что такое Го?

Go предоставляет язык в стиле C, который предлагает лучшие возможности для параллелизма кода. Это позволяет программистам легко запускать несколько параллельных задач из одной и той же программы. Начиная с первоначального выпуска в 2009 году, Go теперь является языком программирования, используемым для ряда внутренних систем Google. Получив популярность за пределами Google, Go теперь используется в ряде проектов, включая Docker и систему Canonical Juju.

Установка

Установить Go довольно просто, так как большинство дистрибутивов Linux включают его в репозитории по умолчанию. Единственным недостатком является то, что репозитории обычно отстают от текущих выпусков. На данный момент CentOS, Debian и Ubuntu предоставляют Go 1.6, в то время как 1.8 является текущим стабильным выпуском. Поэтому, если вам нужно что-то более новое, вам нужно будет установить из исходного кода. Сейчас мы познакомим вас с обоими методами.

Во-первых, чтобы установить версию из репозиториев для Debian и Ubuntu, вы можете использовать:

sudo apt-get update
sudo apt-get install golang-go

Для установки из репозиториев на RedHat и CentOS:

sudo yum install golang

После завершения последнее, что вам нужно сделать, это установить GOPATH, который Go может использовать при загрузке и сборке программного обеспечения. Для этого создайте следующий новый файл:

sudo nano /etc/profile.d/golang.sh

Затем вставьте следующее:

export GOPATH=$HOME/gofiles

Сохраните и закройте файл, и это почти все, что вам нужно сделать, чтобы установить Go. Вы можете изменить GOPATH на то, что вы предпочитаете в своей системе, если у вас есть предпочтения.

Если вам нужна последняя версия, вам нужно начать с загрузки последнего архива:

wget https://storage.googleapis.com/golang/go1.8.1.linux-amd64.tar.gz

Извлеките файлы из архива с помощью:

tar -zxvf go1.8.1.linux-amd64.tar.gz

Архив содержит предварительно скомпилированные двоичные файлы для Linux, поэтому вам просто нужно изменить владельца извлеченного каталога go на root, а затем переместить его в /usr/local (рекомендуемое место установки).

sudo chown -R root:root ./go
sudo mv go /usr/local/

Теперь Go готов к использованию. Вам просто нужно указать путь, который система должна использовать для поиска своих двоичных файлов. Для этого мы создадим файл в /etc/profile.d, чтобы добавить его в путь для всех пользователей системы.

sudo nano /etc/profile.d/golang.sh

В этот файл вы хотите вставить следующие строки:

export GOPATH=$HOME/gofiles
export PATH=$PATH:/usr/local/go/bin

Теперь вы можете сохранить и выйти из этого файла. К сожалению, этот файл не будет действовать до тех пор, пока система не перезагрузится. Чтобы все заработало для вашего текущего сеанса, вы можете снова вставить эти строки в командную строку и нажать «Ввод».

Теперь вы должны быть в состоянии использовать Go. Для проверки введите следующую команду.

go version

Это запустит Go и выведет информацию об установленной версии на экран. Результаты должны выглядеть примерно так:

go version go1.8.1 linux/amd64

Если Go ответил, как и ожидалось, теперь Go установлен и работает на вашем сервере и готов к использованию.

Никогда не пропустите ни одного поста. Подпишитесь на еженедельную рассылку 100TB или следите за нами в Facebook и Twitter.

Первоначально опубликовано на blog.100tb.com.