Go представляет компилируемый статически типизированный язык программирования от компании Google. Язык Go предназначен для создания различного рода приложений, но прежде всего это веб-сервисы и клиент-серверные приложения. Хотя также язык обладает возможностями по работе с графикой, низкоуровневыми возможностями и т.д.
Работа над языком Go началась в 2007 в недрах компании Google. Одним из авторов является Кен Томпсон, который, к слову, является и одним из авторов языка Си (наряду с Денисом Ритчи). 10 ноября 2009 года язык был анонсирован, а в марте 2012 года вышла версия 1.0. При этом язык продолжает развиваться. Текущей версией на момент написания данной статьи является версия 1.22, которая вышла в феврале 2024 года.
Язык Go развивается как open source, то есть представляет поект с открытым исходным кодом, и все его коды и компилятор можно найти и использовать бесплатно. Официальный сайт проекта - https://go.dev/, где можно много полезной информации о языке.
Go является кроссплатформенным, он позволяет создавать программы под различные операционные системы - Windows, Mac OS, Linux, FreeBSD. Код обладает переносимостью: программы, написанные для одной из этих операционных систем, могут быть легко с перекомпиляцией перенесены на другую ОС.
Основные особенности языка Go:
компилируемый - компилятор транслирует программу на Go в машинный код, понятный для определенной платформы
статически типизированный
присутствует сборщик мусора, который автоматически очищает память
поддержка работы с сетевыми протоколами
поддержка многопоточности и параллельного программирования
В настоящее время Go находит широкое применение в различных сферах. В частности, среди известных проектов, которые применяют Go, можно найти следующие: Google, Dropbox, Netflix, Kubernetes, Docker, Twitch, Uber, CloudFlare и ряд других.
Что нужно для работы с Go? Прежде всего необходим текстовый редактор для набора кода и компилятор для преобразования кода в исполняемый файл. Также можно использовать специальные интегрированные среды разработки (IDE), которые поддерживают Go, например, GoLand от компании JetBrains. Существуют плагины для Go для других IDE, в частности, IntelliJ IDEA и Netbeans.
Пакет для установки компилятора можно загрузить с официального сайта https://go.dev/dl/.
По этому адресу пакеты установщиков для различных операционных систем. Обратите внимание на версии поддерживаемых систем. Так, на момент написания текущей статьи поддерживались только версии Windows 10 и выше, MacOS 10.15 и выше и Linux 2.6.32 и выше, но все версии должны быть 64-разрядными. Загрузим подходящий для нашей ОС пакет установщика и запустим его. Процесс установки относительно прост - надо лишь прощелкать на кнопки в окнах установщика.
Например, стартовое окно установщика для Windows:
После принятия лицензионного соглашения отобразится окно для выбора места установки:
На Windows, например, по умолчанию используется путь "C:\Program Files\Go\". Оставим путь по умолчанию и перейдем к следующему окну, на котором нажмем на кнопку Install:
После успешной установки в папке установки будут установлены все файлы, необходимые для работы с Go. В частности, в подкаталоге bin можно найти файл go (go.exe на Windows), который выполняет роль компилятора:
Установка на MacOS аналогична - с помощью мастера установки также надо последовательно нажать на кнопки:
Для Linux оф. сайт предоставляет архив. Например, в моем случае это файл go1.22.0.linux-amd64.tar.gz. Для установки этого архива выполним команду
sudo rm -rf /usr/local/go && tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
Эта команда удаляет ранее устанавленную версию (если таковая имеется) и устанавливает новую в папку /usr/local/go, соответственно компилятор будет располагаться в папке /usr/local/go/bin
После этого внесем путь к папке "/usr/local/go/bin" в переменные среды. Для этого добавим в конец файла $HOME/.profile
или /etc/profile
следующую строку
export PATH=$PATH:/usr/local/go/bin
И для немедленного применения ее выполним команду
source $HOME/.profile
После установки мы можем проверить версию языка, запустив в консоли команду go version:
C:\Users\eugen>go version go version go1.22.0 windows/amd64 C:\Users\eugen>