Вступление
Go, часто называемыйgolang, - это язык программирования с открытым исходным кодом, разработанный Google. Он использует минималистский подход к разработке и позволяет легко создавать простое, надежное и эффективное программное обеспечение. Из этого туториала Вы узнаете, как загрузить и установить Go 1.7, а также как скомпилировать и выполнить простую программу «Hello, World!» На сервере CentOS 7.
Предпосылки
Прежде чем следовать этому руководству, убедитесь, что у вас есть обычный пользователь без полномочий root с привилегиямиsudo
. Вы можете узнать больше о том, как настроить пользователя с этими привилегиями из нашего руководства,How To Create a Sudo User on CentOS.
[[step-1 -–- download-go]] == Шаг 1. Скачивание Go
По состоянию на сентябрь 2016 года пакетgolang
в репозиториях по умолчанию для CentOS устарел. В результате мы вручную загрузим пакет прямо изGo website. Обязательно скопируйте ссылку на последнюю версию, совместимую с 64-битной архитектурой.
Начните с перемещения в доступный для записи каталог:
cd /tmp
Используйте командуcurl
и ссылку из Go, чтобы загрузить архив:
curl -LO https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gz
Несмотря на то, что архив был получен из подлинного источника, рекомендуется проверять подлинность и целостность элементов, загружаемых из Интернета. Этот метод проверки удостоверяет, что файл не был подделан, поврежден или поврежден в процессе загрузки. Командаshasum
с флагом-a 256
создает уникальный 256-битный хэш:
shasum -a 256 go1.7*.tar.gz
Output702ad90f705365227e902b42d91dd1a40e48ca7f67a2f4b2fd052aaa4295cd95 go1.7.linux-amd64.tar.gz
Сравните хэш в вашем выводе со значением контрольной суммы на Godownload page. Если они совпадают, то можно с уверенностью сделать вывод, что загрузка является законной.
После загрузки Go и проверки целостности файла приступим к установке.
[[step-2 -–- install-go]] == Шаг 2 - Установка Go
Установка Go состоит из распаковки архива в каталог/usr/local
. Использование командыtar
с флагом-C
сохраняет содержимое в указанный каталог. Флаг-x
выполняет функцию извлечения,-v
производит подробный вывод,-z
фильтрует архив с помощью утилиты сжатияgzip
, а-f
сообщает ему указанную имя файла для выполнения действий:
sudo tar -C /usr/local -xvzf go1.7.linux-amd64.tar.gz
[.note] #Note: Издатель официально рекомендует поместить Go в каталог/usr/local
. Установка в другом месте не влияет на удобство использования, но пользовательский путь должен быть определен в переменной среды GoGOROOT
. На следующем шаге обсуждается работа с переменными окружения.
#
Затем в домашнем каталоге пользователя создайте рабочее пространство Go с тремя дочерними каталогами:bin
,src
иpkg
. Каталогbin
будет содержать исполняемые программы, скомпилированные из удобочитаемых исходных файлов в каталогеsrc
. Несмотря на то, что мы не будем использовать каталогpkg
в этом руководстве, мы все же рекомендуем настроить его, потому что это полезно при создании более сложных программ. В каталогеpkg
хранятся объекты пакетов, которые представляют собой повторно используемый код, совместно используемый программами.
Мы назовем каталог нашей рабочей областиprojects
, но вы можете называть его как угодно. Флаг-p
для командыmkdir
создаст соответствующее дерево каталогов.
mkdir -p ~/projects/{bin,pkg,src}
На этом этапе использование Go потребует указания полного пути к месту его установки в командной строке. Чтобы сделать взаимодействие с Go более удобным, мы зададим несколько путей.
[[step-3 -–- setting-paths-for-go]] == Шаг 3. Установка путей для Go
Чтобы выполнить Go, как и любую другую команду, нам нужно добавить место установки в переменную$PATH
. Go был установлен в системный каталог, поэтому мы установим переменную окружения глобально.
Создайте скриптpath.sh
в каталоге/etc/profile.d
с помощью редактораvi
:
sudo vi /etc/profile.d/path.sh
Добавьте в файл следующее, сохраните и выйдите:
/etc/profile.d/path.sh
export PATH=$PATH:/usr/local/go/bin
[.warning] #Warning: Если Go был установлен в другом месте, измените путь соответствующим образом.
#
Кроме того, определите переменные среды GoGOPATH
иGOBIN
Go в пользовательском файле.bash_profile
, чтобы они указывали на недавно созданное рабочее пространство. ПеременнаяGOPATH
сообщает Go расположение ваших исходных файлов, а переменнаяGOBIN
указывает ему, где создавать скомпилированные двоичные файлы.
Откройте файл.bash_profile
:
vi ~/.bash_profile
Добавьте следующее в конец файла, сохраните и выйдите:
~/.bash_profile
. . .
export GOBIN="$HOME/projects/bin"
export GOPATH="$HOME/projects/src"
[.предупреждение]##
Warning: Как отмечалось на шаге 2, если Go не был установлен в каталоге/usr/local
, тогда также определите переменнуюGOROOT
.
~/.bash_profile
. . .
export GOROOT="/path/to/go"
Чтобы применить изменения к текущему сеансу BASH, используйте командуsource
для перезагрузки обновленных профилей:
source /etc/profile && source ~/.bash_profile
Имея ядро Go, давайте подтвердим, что наша установка работает, составив короткую программу.
[[step-4 -–- create-a-program]] == Шаг 4 - Создание программы
Написание нашей первой программы обеспечит работу нашей среды и даст нам возможность ознакомиться с языком программирования Go.
Для начала создайте новый файл.go
:
vi ~/projects/src/hello.go
В приведенном ниже коде используется основной пакет Go, импортируется компонент форматированного содержимого ввода-вывода и задается новая функция для печати строкиHello, World!
. Добавьте следующее в файл:
~/projects/hello.go
package main
import "fmt"
func main() {
fmt.Printf("Hello, World!\n")
}
Затем сохраните и выйдите из файла.
Затем скомпилируйте исходный файлhello.go
с помощью командыgo install
:
go install $GOPATH/hello.go
Теперь мы готовы запустить нашу программу:
$GOBIN/hello
Программаhello.go
должна выдать сообщениеHello, World!
, подтверждающее успешную установку Go.
Заключение
Простая программа «Hello, World!» Установила, что у вас есть среда разработки Go. Типичное приложение будет использовать библиотеки и удаленные пакеты. Чтобы узнать больше о работе с этими дополнительными компонентами, ознакомьтесь с официальной документациейHow to Write Go Code.