Golang#
Первое приложение c использованием Go на Astra Linux SE 1.6 / 1.7 / 1.8#
Введение#
В этом руководстве вы узнаете, как начать разработку на языке Go в Astra Linux Special Edition, создав простое приложение Hello World.
В Astra Linux Special Edition Go не установлен по умолчанию, но может быть установлен с пакетами, для которых он требуется. Его также можно установить из репозитория или скачать и установить с официального сайта.
Весрия Astra Linux SE |
Версия GO |
Репозиторий |
---|---|---|
Astra Linux SE 1.6 |
1.7 |
devel |
Astra Linux SE 1.7 |
1.15 |
main |
Astra Linux SE 1.7.5 |
1.19 |
main |
Astra Linux SE 1.8 |
1.19 и выше |
extended |
Для установки из репозитория нужно чтобы репозиторий в котором находится Go был подключен, и выполнить команду под высокоцелостным администратором (либо сделать это через графический интерфейс):
$ sudo apt-get install golang
Так же можно устанавить Go скачав его с официального сайта:
$ wget https://go.dev/dl/go1.21.3.linux-amd64.tar.gz
Распакуем скачанный архив в каталог /usr/local (действия делаются из под высокоцелостного администратора):
$ sudo tar -C /usr/local -xzf go1.21.3.linux-amd64.tar.gz
Настройка переменных окружения PATH и GOPATH необходима для обеспечения корректной работы среды разработки.
Чтобы настроить переменные окружения, откроем файл .bashrc в текстовом редакторе:
$ nano ~/.bashrc
В конец открывшегося файла добавим перечисленные ниже строки:
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/goproject
export PATH=$PATH:$GOPATH/bin
Теперь сохраним внесенные изменения, а после перезапустим оболочку и обновим переменные окружения:
$ source ~/.bashrc
При этом обязательно организуйте рабочее пространство для проектов на Go в домашней директории:
$ mkdir $HOME/goproject
Настройка среды разработки#
Чтобы убедиться, что Golang был успешно установлен, выполним команду:
$ go version
Чтобы посмотреть какие модули установлены, выполните команду:
$ dpkg -l | grep '\bgolang-'
Либо тоже самое можно сделать через графический интерфейс.
Чтобы узнать, какие еще модули Golang включены в Astra Linux, выполните следующую команду:
$ apt-cache search --names-only ^golang-
Так же это можно сделать из графического интерфейса.
Как установить дополнительные модули (из репозиториев Astra Linux) можно на примере установки пакета «easyjson» (установка выполняется под высоко целостным администратором):
$ sudo apt-get install golang-easyjson
Также возможна установка дополнительных модулей из графического интерфейса.
Если необходимы модули которых нет в репозиториях Astra Linux - можно устанавливать модули для Go классическим для этого языка методом.
Первое приложение#
Cоздадим в рабочем пространстве ($HOME/goproject) тестовый файл с расширением .go с помощью текстового редактора:
$ nano hello.go
Вставим следующий код в файл hello.go:
package main
import (
"fmt"
"net/http"
)
func HelloWorld(w http.ResponseWriter, req *http.Request) {
fmt.Fprintf(w, "<h1>Hello world.</h1>")
}
func main() {
fmt.Println("Hello.")
fmt.Println("Starting http server.")
// Register handler function
http.HandleFunc("/", HelloWorld)
fmt.Println("Go to localhost:8081 To terminate press CTRL+C")
// Start server
http.ListenAndServe(":8081", nil)
}
Соберем программу:
$ go build hello
И запустим:
$ ./hello
Hello.
Starting http server.
Go to localhost:8081 To terminate press CTRL+C
Получить результат:
$ curl http://localhost:8081
<h1>Hello world.</h1>
Можно также зайти через браузер по тому же адресу чтобы увидеть результат.