Компания 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.