Go, также известный как Golang, является современным языком программирования с открытым исходным кодом, созданным Google. При работе с ним уделяется внимание минималистичному подходу. Go стремится к созданию простых, надежных и эффективных программ. В данном руководстве показано, как скачать и установить Go 1.15 на сервер с операционной системой CentOS, а также скомпилировать и выполнить базовый простой пример с "Hello, World!"
.
Содержание статьи
- Скачать Go на CentOS 7
- Установка Go на CentOS 7
- Настройка GOPATH на CentOS 7
- Создание простой Go-программы на CentOS 7
Для использования данного руководства вы должны работать от имени обычного пользователя, а не-root с привилегиями sudo
.
Рекомендуем вам супер TELEGRAM канал по Golang где собраны все материалы для качественного изучения языка. Удивите всех своими знаниями на собеседовании! 😎
Мы публикуем в паблике ВК и Telegram качественные обучающие материалы для быстрого изучения Go. Подпишитесь на нас в ВК и в Telegram. Поддержите сообщество Go программистов.
Скачать Go для CentOS с официального сайта
С сентября 2016 года пакет golang
в репозиториях для CentOS не обновлялся. Мы вручную загрузим пакет прямо с сайта Go. Обязательно скопируйте ссылку на последнюю версию, совместимую с 64-битной архитектурой.
Начнем с перемещения в доступный для записи каталог:
1 |
cd /tmp |
Используйте команду curl
и ссылку из Go для скачивания тарбола:
1 |
curl -LO https://storage.googleapis.com/golang/go1.15.linux-amd64.tar.gz |
Хотя тарбол получен из подлинного источника, лучше все-таки проверять аутентичность и целостность объектов, скачанных из Интернета. Через метод проверки можно доказать, что файл не был изменен или поврежлен во время процесса загрузки. Команда shasum
с флагом -a 256
выводит уникальный 256-битный хеш:
1 |
shasum -a 256 go1.15.linux-amd64.tar.gz |
Вывод:
1 |
2d75848ac606061efe52a8068d0e647b35ce487a15bb52272c427df485193602 go1.15.linux-amd64.tar.gz |
Сравните хеш в выводе со значением контрольной суммы на странице скачивания Go. Если они совпадают, тогда можно считать, что загрузка действительна и файлы не были изменены злоумышленниками. После скачивания Go и проверки целостности файлов, можно приступить к процессу установки golang на centos.
Установка Go на CentOS 7
Установка Go состоит из извлечения тарбола в директорию /usr/local
. Использование команды tar
с флагом -C
сохраняет содержимое в определенную директорию. Флаг -x
выполняет функцию извлечения, -v
производит подробный вывод, -z
отфильтровывает архив через утилиту сжатия gzip
, а -f
сообщает точное название файла над которым совещаются действия:
1 |
sudo tar -C /usr/local -xvzf go1.15.linux-amd64.tar.gz |
На заметку: Разработчикам рекомендуется помещать Go в директорию
/usr/local
. Установка в другое место не влияет на работу, но во время установки надо будет настроить путь, определив переменную в среде Go —GOROOT
. На следующем этапе обсуждается работа с переменными среды.
Далее под домашней директорией пользователя создается рабочее пространство Go с тремя дочерними директориями: bin
, src
и pkg
. Директория bin
содержит выполняемые программы, скомпилированные из читабельного источника файлов хранятся в директории src
. И хотя мы не будем использовать pkg
в данном руководстве, рекомендуем настроить его, потому что он может быть полезен при создании более сложных программ. Директория pkg
хранит объекты пакетов которые используются между программами.
Создадим директорию рабочего пространства projects
, вы можете назвать ее как хотите. Флаг -p
для команды mkdir
создает подходящее древо директорий.
1 |
mkdir -p ~/projects/{bin,pkg,src} |
На данный момент использование, Go запрашивает уточнения полного пути к его месту инсталляции в командной строке. Чтобы сделать Go более удобным, настроим несколько путей.
Настройка путей GOPATH для CentOS 7
Для выполнения Go как любой другой команды нам нужно добавить его место установки в переменную $PATH
. Go был установлен в директорию системы, поэтому мы настроим переменную среды глобально.
Создадим скрипт path.sh
в папке /etc/profile.d
, используя редактор vi
:
1 |
sudo vi /etc/profile.d/path.sh |
Добавим следующую строчку в файл, сохраним и выйдем:
1 |
export PATH=$PATH:/usr/local/go/bin |
Внимание! Если Go установлен в другом месте, тогда укажите свой путь установки.
В дополнение ко всему вам нужно определить переменные среды Go, такие как GOPATH
и GOBIN
в файле пользователя .bash_profile
для указания на недавно созданное рабочее место. Переменная GOPATH
сообщает Go место ваших файлов, в то время как переменная GOBIN
указывает, куда размешаются созданные скомпилированные бинарные файлы.
Откройте файл .bash_profile
:
1 |
vi ~/.bash_profile |
Добавьте следующие строчки в конец файла, сохраните и выйдите:
1 2 3 |
. . . export GOBIN="$HOME/projects/bin" export GOPATH="$HOME/projects/src" |
Внимание! Как отмечалось на Этапе 2, если Go не установлен в директорию
/usr/local
, тогда нужно определить переменнуюGOROOT
индивидуально.
12 . . .export GOROOT="/path/to/go"
Для применения изменений для вашей текущей BASH-сессии используйте команду source
для перезапуска обновленных профилей:
1 |
source /etc/profile && source ~/.bash_profile |
Давайте убедимся, что установленный Go работает правильно, создав и запустив небольшую программу.
Создание простой Go-программы на CentOS 7
Напишем программу, чтобы убедиться, что среда работает как надо, а также немного познакомимся с основами языка Go.
Начнем с создания .go
файла:
1 |
vi ~/projects/src/hello.go |
Код ниже в пакете main
импортирует компонент форматирования I/O содержимого и создает новую функцию для вывода строки Hello, World!
. Добавим следующее в файл:
1 2 3 4 5 6 7 |
package main import "fmt" func main() { fmt.Printf("Hello, World!\n") } |
Затем сохраняемся и выходим из файла.
Далее компилируем исходник hello.go
через команду go install
:
1 |
go install $GOPATH/hello.go |
Теперь мы готовы к запуску программы:
1 |
$GOBIN/hello |
Программа hello.go
должна выводить сообщение Hello, World!
, подтверждая тем самым успешную установку Go.
Заключение
Выполнение простой программы "Hello, World!"
доказывает, что у вас есть рабочая среда разработки. Типичное приложение использует библиотеки и удаленные пакеты. Чтобы подробнее узнать об этих дополнительных компонентах, можете изучить документацию Go.
Администрирую данный сайт с целью распространения как можно большего объема обучающего материала для языка программирования Go. В IT с 2008 года, с тех пор изучаю и применяю интересующие меня технологии. Проявляю огромный интерес к машинному обучению и анализу данных.
E-mail: vasile.buldumac@ati.utm.md
Образование
Технический Университет Молдовы (utm.md), Факультет Вычислительной Техники, Информатики и Микроэлектроники
- 2014 — 2018 Universitatea Tehnică a Moldovei, ИТ-Инженер. Тема дипломной работы «Автоматизация покупки и продажи криптовалюты используя технический анализ»
- 2018 — 2020 Universitatea Tehnică a Moldovei, Магистр, Магистерская диссертация «Идентификация человека в киберпространстве по фотографии лица»