Как установить язык программирования Go

Go, так же известный как Golang, – язык программирования с открытым исходным кодом, выпущенный Google в 2012 году.

Целью Google было создать язык программирования, который можно изучить быстро.

С момента релиза Go стал популярен у разработчиков, он используется как в облачных и серверных приложениях, так и в ИИ, робототехнике.

Из этого руководства вы узнаете, как загрузить и установить последнюю версию Go, создать приложение «Hello, World!» и превратить ваш код Go в исполняемый двоичный файл для дальнейшего использования.

Требования

Чтобы следовать руководству, вам понадобится предварительно настроенный сервер (мы используем Ubuntu), пользователь с доступом sudo и брандмауэр (как описано в статье Начальная настройка сервера Ubuntu 20.04).

1: Устанавливаем Go

На этом этапе вы установите Go на свой сервер.

Для начала подключитесь к серверу через ssh:

$ ssh 8hosty@your_server_ip

Затем в браузере зайдите на официальную загрузочную страницу Go. Оттуда скопируйте URL на архив с текущей бинарной версией.

На момент написания статьи самая свежая версия – это go1.16.7.

Для установки Go на сервер Ubuntu (или любой сервер Linux), скопируйте URL-адрес файла, заканчивающийся на linux-amd64.tar.gz.

Теперь, когда у вас есть ссылка, убедитесь, что вы находитесь в домашнем каталоге:

$ cd ~

Затем используйте команду curl, чтобы получить архив, только не забудьте заменить выделенный URL тем, который вы только что скопировали. Флаг -O гарантирует, что он скачается файлом, а флаг L указывает на перенаправление на HTTPS, т.к. ссылка взята на сайте Go и будет перенаправлена сюда перед загрузкой:

$ curl -OL https://golang.org/dl/go1.16.7.linux-amd64.tar.gz

Для проверки целостности скачанного файла запустите команду sha256sum и передайте ей имя файла в качестве аргумента:

$ sha256sum go1.16.7.linux-amd64.tar.gz

Она вернет контрольную сумму SHA256 архива:

go1.16.7.linux-amd64.tar.gz
7fe7a73f55ba3e2285da36f8b085e5c0159e9564ef5f63ee0ed6b818ade8ef04  go1.16.7.linux-amd64.tar.g

Если контрольная сумма совпадает с указанной на странице загрузки, то вы выполнили этот шаг верно.

Используйте команду tar для извлечения архива. Эта команда включает флаг -C, который переместит tar в указанный каталог до выполнения любых других операций.

Это значит, что извлеченные файлы будут записаны в каталог /usr/local/, рекомендуемый для установки Go. Флаг x говорит команде tar извлечь содержимое, v обеспечивает подробный вывод (список извлекаемых файлов), а f сообщает, что мы зададим имя файла:

$ sudo tar -C /usr/local -xvf go1.16.7.linux-amd64.tar.gz

Хоть /usr/local/go и рекомендуемый путь для установки Go, некоторые пользователи предпочитают использовать другие пути.

2: Установка путей для Go

На этом этапе вы зададите пути для своей среды.

Сначала установите корневое значение, которое сообщит Go, где искать файлы.

Вы можете сделать это, отредактировав файл .profile, который содержит список команд, запускаемых системой при каждом входе.

Используйте удобный для вас редактор, чтобы открыть .profile, хранящийся в домашнем каталоге вашего пользователя. Мы пользуемся nano:

$ sudo nano ~/.profile

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

. . .
export PATH=$PATH:/usr/local/go/bin

Закройте и сохраните файл после того, как добавили эту строку. Если вы использовали nano, это можно сделать, нажав CTRL + X, затем Y и ENTER.

Затем обновите свой профиль, выполнив эту команду:

$ source ~/.profile

И проверьте, можете ли вы теперь выполнять команды go, запустив go version:

$ go version

Эта команда выведет номер версии Go, установленной в вашей системе:

go version go1.16.7 linux/amd64

Наличие выходных данных подтверждает, что теперь вы используете Go на своем сервере.

3: Тестирование

Теперь, когда Go установлен и его пути для сервера заданы, вы можете попробовать создать своё приложение «Hello, World!», чтобы убедиться, что Go работает.

Сначала создайте новый каталог для рабочего пространства Go, куда он будет сохранять файлы:

$ mkdir hello

Переместитесь в этот каталог:

$ cd hello

При импорте пакетов вам необходимо управлять зависимостями через собственный модуль кода. Это можно сделать, создав файл go.mod с помощью команды go mod init:

$ go mod init your_domain/hello

Далее создайте файл «Hello, World!» в своём редакторе:

$ nano hello.go

Добавьте следующий текст в файл hello.go:

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

Сохраните и закройте файл, нажав CTRL + X, затем Y и ENTER.

Протестируйте свой код, чтобы убедиться, что он печатает приветствие «Hello, World!»:

$ go run .

Команда должна вернуть:

Hello, World!

Команда go run компилирует и запускает пакет Go из списка исходных файлов .go, из нового каталога hello и импортированного вами пути. Но вы также можете использовать go build, чтобы создать исполняемый файл, что сэкономит немного времени.

4: Компиляция кода Go в бинарный исполняемый файл

Команда go run обычно используется как ярлык для компиляции и запуска программ, требующих частых изменений. Если вы не хотите запускать свой код после каждой компиляции, используйте go build, чтобы превратить код в исполняемый бинарный файл. Сборка кода в исполняемый бинарный файл – это процесс, который объединяет ваше приложение в один файл со всем вспомогательным кодом, необходимым для выполнения файла. После того, как вы создали бинарный исполняемый файл, запустите команду go install, поместив программу в путь к исполняемому файлу. Так она будет запускаться из любого места в системе. После этого по запросу программа выведет на экран сообщение «Hello, World!» и вам не нужно будет компилировать её снова.

Попробуйте запустить go build. Убедитесь, что запускаете ее из того каталога, где хранится файл hello.go:

$ go build

Затем запустите ./hello, чтоб убедиться, что код работает корректно:

$ ./hello

Hello, World!

Это подтверждает, что вы успешно превратили код hello.go в исполняемый бинарный файл. Но его можно вызвать только из этого каталога. А если понадобится запустить программу из другого места на сервере, нужно будет указать полный путь.

Каждый раз вводить полный путь к бинарному файлу довольно быстро надоедает. Поэтому рекомендуем пользоваться командой go install. Она похожа на go build, но вместо того чтобы оставлять исполняемый файл в текущем каталоге, go install помещает его в каталог $GOPATH/bin, позволяя запускать его из любого места на сервере.

Чтобы запустить go install, нужно передать ей путь установки двоичного файла, созданного при помощи go build. Чтобы найти этот путь, запустите команду go list:

$ go list -f ‘{{.Target}}’

go list генерирует список из всех именованных пакетов Go, хранящихся в текущем рабочем каталоге. Флаг f заставит go list возвращать вывод в другом формате, в зависимости от того, какой шаблон пакета вы ему передали. Эта команда будет использовать шаблон Target, благодаря которому go list вернет путь установки всех пакетов, хранящихся в этом каталоге:

‘/home/8host/go/bin/hello

Это путь установки бинарного файла, созданного с помощью go build. /home/8host/go/bin/ – каталог, в который он установлен.

Добавьте его в путь к системной оболочке. Обязательно укажите путь к установки бинарного файла в вашей системе, если он отличается:

$ export PATH=$PATH:/home/8host/go/bin/

Наконец, запустите go install, чтобы скомпилировать и установить пакет.

$ go install

Попробуйте запустить этот исполняемый бинарный файл, просто введя hello:

$ hello

 Hello, World!

Если получите сообщение «Hello, World!» – вы успешно добились выполнения программы Go как по определенному пути на сервере, так и без его указания.

Заключение

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

Tags: , , ,

Добавить комментарий