Это руководство показывает, что такое язык программирования Go, как установить язык Go в Linux и, наконец, как создать тестовую программу на Golang на простом примере.
Что такое язык Go?
Go, также известный как GoLang, – это язык программирования с открытым исходным кодом, разработанный в Google Робертом Гриземером, Робом Пайком и Кеном Томпсоном в 2007 году.
Язык Go стал публичным проектом с открытым исходным кодом 10 ноября 2009 года.
Какова функция Шебанг в Linux?
Язык Go активно используется в некоторых производственных серверах Google, а также другими компаниями, такими как Dropbox, CoreOS, CloudFlare, Docker, Soundcloud, Uber и многими другими.
Теперь давайте рассмотрим два способа установки Golang и настройки языка программирования Go в Linux.
Установка языка Go в Linux
Как было сказано выше, мы можем установить Golang либо с помощью стандартного менеджера пакетов вашего дистрибутива, либо скомпилировать и установить Golang из исходников.
Мы рассмотрим оба варианта.
🐍 Как создать игру “Змейка” на языке Python
1. Установка Golang с помощью менеджера пакетов
Язык Go доступен в репозиториях по умолчанию большинства современных дистрибутивов Linux.
Чтобы установить Golang в Alpine Linux, выполните:
$ sudo apk add go
На Arch Linux и таких вариантах, как EndeavourOS и Manjaro Linux:
$ sudo pacman -S go
На системах на базе RPM, таких как Fedora, RHEL и его клоны, такие как CentOS, AlmaLinux и Rocky Linux, работают:
$ sudo dnf install golang
В старых системах RHEL используйте yum вместо dnf:
$ sudo yum install golang
В системах на базе DEB, таких как Debian, Ubuntu, Linux Mint и Pop OS, вы можете установить язык Go с помощью команды:
$ sudo apt install golang
На SUSE/openSUSE:
$ sudo zypper install golang
После установки проверьте версию Golang с помощью команды:
$ go version
Пример вывода:
go version go1.18.1 linux/amd64
1.1. Тестовая установка
Создайте файл с именем hello.go :
$ vi hello.go
Добавьте в него следующий код:
package main import "fmt" func main() { fmt.Printf("hello, world\n") }
Сохраните файл и закройте его.
Теперь запустите код с помощью команды:
$ go run hello.go
Вывод:
hello, world
2. Установка Golang из исходного кода
Go доступен в стандартных репозиториях некоторых дистрибутивов Linux.
Однако версия языка Go в стандартных репозиториях может быть немного устаревшей.
Поэтому всегда рекомендуется использовать самую последнюю версию, скачав tarball с официального сайта и установив его вручную, как описано ниже.
Нижеприведенные варианты были протестированы в версиях Ubuntu 16.04 и Ubuntu 22. 04.
Однако эти шаги одинаковы для других дистрибутивов Linux.
Загрузите последнюю версию Golang отсюда.
$ wget https://go.dev/dl/go1.19.5.linux-amd64.tar.gz
Затем проверьте целостность загруженного файла, как показано ниже.
$ sha256sum go1.19.5.linux-amd64.tar.gz
Пример вывода:
36519702ae2fd573c9869461990ae550c8c0d955cd28d2827a6b159fda81ff95 go1.19.5.linux-amd64.tar.gz
Обратите внимание, что отображаемое выше значение контрольной суммы SHA256 должно совпадать со значением, предоставленным по ссылке на скачивание.
Если оно не совпадает, скачайте новый tarball и продолжите.
Распакуйте скачанный tarball с помощью команды:
$ sudo tar -C /usr/local -xvzf go1.19.5.linux-amd64.tar.gz
Эта команда извлекает tarball в каталог /usr/local. Здесь флаг -c указывает на целевой каталог.
2.1. Настройка языка Go
Теперь нам нужно установить путь к исполняемому файлу языка Go в файле профиля пользователя.
Для этого отредактируйте файл профиля пользователя:
$ vi ~/.profile
Добавьте следующую строку:
export PATH=$PATH:/usr/local/go/bin
Для общесистемной установки добавьте приведенную выше строку в файл /etc/profile.
Введите :wq, чтобы сохранить и закрыть файл.
Далее настройте рабочее пространство для языка Go, где мы будем сохранять сборки языка Go.
2.2. Создание каталога рабочей области
Рабочая область представляет собой иерархию каталогов с тремя каталогами в корне:
- src содержит исходные файлы Go,
- pkg содержит объекты пакетов,
- и bin содержит исполняемые команды.
Создайте приведенную выше иерархию каталогов для рабочего пространства языка Go с помощью команды:
$ mkdir -p $HOME/go_projects/{src,pkg,bin}
Здесь $HOME/go_projects – это каталог, в котором Go будет создавать свои файлы.
Далее нам нужно указать Go на новое рабочее пространство.
Для этого отредактируйте файл ~/.profile:
$ sudo vi ~/.profile
Добавьте следующие строки, чтобы указать Go на новый каталог рабочего пространства.
export GOPATH="$HOME/go_projects" export GOBIN="$GOPATH/bin"
Если язык Go установлен не по умолчанию (т.е. /usr/local/), необходимо указать путь установки (GOROOT) в файле ~/.profile.
Например, если вы установили go lang в каталог HOME, то вам нужно добавить следующие строки в файл профиля пользователя.
export GOROOT=$HOME/go export PATH=$PATH:$GOROOT/bin
Обратите внимание, что если вы установили Golang с помощью менеджеров пакетов, путь установки будет либо /usr/lib/go, либо /usr/lib/golang.
Вам необходимо обновить правильное значение пути в GOROOT.
После того как вы указали нужные значения, выполните следующую команду для обновления значений окружения Go lang.
$ source ~/.profile
Если вы выполнили общесистемную установку, запустите эту команду вместо этого:
$ source /etc/profile
Добавьте следующие строки, чтобы указать Go на новый каталог рабочего пространства.
export GOPATH="$HOME/go_projects" export GOBIN="$GOPATH/bin"
Если язык Go установлен не по умолчанию (т.е. /usr/local/), необходимо указать путь установки (GOROOT) в файле ~/.profile.
Например, если вы установили go lang в каталог HOME, то вам нужно добавить следующие строки в файл профиля пользователя.
export GOROOT=$HOME/go export PATH=$PATH:$GOROOT/bin
Обратите внимание, что если вы установили Golang с помощью менеджеров пакетов, путь установки будет либо /usr/lib/go, либо /usr/lib/golang.
Вам необходимо обновить правильное значение пути в GOROOT.
После того как вы указали нужные значения, выполните следующую команду для обновления значений окружения Go lang
$ source ~/.profile
Если вы выполнили установку в масштабах всей системы, запустите эту команду вместо этого:
$ source /etc/profile
2.3. Проверка версии Golang
Теперь выполните следующие команды, чтобы проверить, правильно ли вы установили и настроили язык Go.
Давайте проверим установленную версию:
$ go version
Вывод:
go version go1.19.5 linux/amd64
Чтобы просмотреть информацию о среде Go lang, выполните команду:
$ go env
Вывод:
GO111MODULE="" GOARCH="amd64" GOBIN="/home/ostechnix/go_projects/bin" GOCACHE="/home/ostechnix/.cache/go-build" GOENV="/home/ostechnix/.config/go/env" GOEXE="" GOEXPERIMENT="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOINSECURE="" GOMODCACHE="/home/ostechnix/go_projects/pkg/mod" GONOPROXY="" GONOSUMDB="" GOOS="linux" GOPATH="/home/ostechnix/go_projects" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/usr/local/go" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64" GOVCS="" GOVERSION="go1.19.5" GCCGO="gccgo" GOAMD64="v1" AR="ar" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="/dev/null" GOWORK="" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build350461959=/tmp/go-build -gno-record-gcc-switches"
2.4. Создание простой программы ‘hello world’ с помощью Go
Теперь мы знаем, как установить, настроить и обновить язык Go.
Давайте продолжим и создадим простую программу ‘hello world’.
Создайте отдельный каталог для хранения исходного кода вашей программы.
Следующая команда создает каталог для хранения исходного кода программы ‘hello world’.
$ mkdir $HOME/go_projects/src
$ mkdir $HOME/go_projects/src/hello
Создайте файл hello.go в каталоге hello:
$ vi $HOME/go_projects/src/hello/hello.go
Добавьте следующие строки:
package main import "fmt" func main() { fmt.Println("Hello, World") }
Сохраните и закройте файл.
Затем выполните следующую команду для компиляции программы ‘hello world’:
$ go install $GOPATH/src/hello/hello.go
Наконец, запустите программу ‘hello world’ с помощью команды:
$ $GOBIN/hello
Вывод:
Hello, World
Удаление языка Go
$ rm -rf /usr/local/go
Если вы установили Golang с помощью менеджеров пакетов, для удаления Golang можно использовать соответствующую команду uninstall.
Например, выполните следующую команду для удаления языка программирования Go на системах на базе Debian
$ sudo apt remove golang
Также удалите каталоги рабочего пространства.
Заключение
На этом пока все.
В этом руководстве вы узнали, как установить язык Go в Linux, как настроить и написать простую программу.