Go, также известный как Golang, является современным языком программирования с открытым исходным кодом, созданным Google. При работе уделяется внимание минималистичному подходу. Go стремится к созданию простых, надежных и эффективных программ. В данном руководстве показано, как скачать и установить Go 1.14 на сервер CentOS, а также скомпилировать и выполнить базовый код "Hello, World!".

Содержание статьи

Для использования данного руководства вы должны работать от имени обычного пользователя, не-root, с привилегиями sudo.

Форум Гоферов

Мы работаем над форумом для программистов на Golang. Очень нужны модераторы которые хотят помочь с ответами для новичков и помочь в развитии Go-сообщества.

Go на Форум

Уроки, статьи и Видео

Мы публикуем в паблике ВК и Telegram качественные обучающие материалы для быстрого изучения Go. Подпишитесь на нас в ВК и в Telegram. Поддержите сообщество Go программистов.

Go в ВК Go в Telegram

Скачать Go с официального сайта

С сентября 2016 года пакет golang в репозиториях для CentOS не обновлялся. Мы вручную загрузим пакет прямо с сайта Go. Обязательно скопируйте ссылку на последнюю версию, совместимую с 64-битной архитектурой.

Начнем с перемещения в доступный для записи каталог:

Используйте команду curl и ссылку из Go для скачивания тарбола:

Хотя тарбол получен из подлинного источника, лучше все-таки проверять аутентичность и целостность объектов, скачанных из Интернета. Через метод проверки можно доказать, что файл не был изменен или поврежлен во время процесса загрузки. Команда shasum с флагом -a 256 выводит уникальный 256-битный хеш:

Вывод:

Сравните хеш в выводе со значением контрольной суммы на странице скачивания Go. Если они совпадают, тогда можно считать, что загрузка действительна.

После скачивания Go и проверки целостности файла можно приступить к процессу установки.

Установка Go на CentOS 7

Установка Go состоит из извлечения тарбола в директорию /usr/local. Использование команды tar с флагом -C сохраняет содержимое в определенную директорию. Флаг -x выполняет функцию извлечения, -v производит подробный вывод, -z отфильтровывает архив через утилиту сжатия gzip, а -f сообщает точное название файла над которым совещаются действия:

На заметку: Разработчикам рекомендуется помещать Go в директорию /usr/local. Установка в другое место не влияет на работу, но во время установки надо будет настроить путь, определив переменную в среде Go — GOROOT. На следующем этапе обсуждается работа с переменными среды.

Далее под домашней директорией пользователя создается рабочее пространство Go с тремя дочерними директориями: bin, src и pkg. Директория bin содержит выполняемые программы, скомпилированные из читабельного источника файлов хранятся в директории src. И хотя мы не будем использовать pkg в данном руководстве, рекомендуем настроить его, потому что он может быть полезен при создании более сложных программ. Директория pkg хранит объекты пакетов которые используются между программами.

Создадим директорию рабочего пространства projects, вы можете назвать ее как хотите. Флаг -p для команды mkdir создает подходящее древо директорий.

На данный момент использование, Go запрашивает уточнения полного пути к его месту инсталляции в командной строке. Чтобы сделать Go более удобным, настроим несколько путей.

Настройка путей GOPATH для CentOS 7

Для выполнения Go как любой другой команды нам нужно добавить его место установки в переменную $PATH. Go был установлен в директорию системы, поэтому мы настроим переменную среды глобально.

Создадим скрипт path.sh в папке /etc/profile.d, используя редактор vi:

Добавим следующую строчку в файл, сохраним и выйдем:

Внимание! Если Go установлен в другом месте, тогда укажите свой путь установки.

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

Откройте файл .bash_profile:

Добавьте следующие строчки в конец файла, сохраните и выйдите:

Внимание! Как отмечалось на Этапе 2, если Go не установлен в директорию /usr/local, тогда нужно определить переменную GOROOT индивидуально.

Для применения изменений для вашей текущей BASH-сессии используйте команду source для перезапуска обновленных профилей:

Давайте убедимся, что установленный Go работает правильно, создав и запустив небольшую программу.

Создание простой Go-программы на CentOS 7

Напишем программу, чтобы убедиться, что среда работает как надо, а также немного познакомимся с основами языка Go.

Начнем с создания .go файла:

Код ниже в пакете main импортирует компонент форматирования I/O содержимого и создает новую функцию для вывода строки Hello, World!. Добавим следующее в файл:

Затем сохраняемся и выходим из файла.

Далее компилируем исходник hello.go через команду go install:

Теперь мы готовы к запуску программы:

Программа hello.go должна выводить сообщение Hello, World!, подтверждая тем самым успешную установку Go.

Заключение

Выполнение простой программы "Hello, World!" доказывает, что у вас есть рабочая среда разработки. Типичное приложение использует библиотеки и удаленные пакеты. Чтобы подробнее узнать об этих дополнительных компонентах, можете изучить документацию Go.