Установка GoLang на Windows Server

В инструкции написано как установить Go на с Windows Server и настроить среду программирования с помощью PowerShell.

Что такое Go?

Go или GoLang — это процедурный язык программирования, появившийся благодаря разработчикам Google. Разработчикам постоянно приходилось выбирать между языками, которые выполняются эффективно, но медленно компилируются, и языками, которые быстро компилируются и легки в использовании, но работают неэффективно. Go был спроектирован таким образом, чтобы все требования были доступны одновременно: быстрая компиляция, простота программирования и эффективное выполнение.

Go легко изучить, он обладает небольшим набором ключевых слов, что делает его отличным выбором как для начинающих, так и для опытных разработчиков.

Преимущества языка Go:

  • компании,в которых уже разрабатывают на Golang: Google, YouTube, Apple, Dropbox, Docker, BBC, The Economist, The New York Times, IBM, Twitter, Facebook.
  • имеет хорошую поддержку. Язык финансируется Google. Его создатели, Роберт Гриземер, Роб Пайк и Кен Томпсон внесли свой вклад в такие влиятельные вещи, как C, B, Unix, JVM и другие.
  • язык с открытым исходным кодом. Невероятно важно, чтобы язык программирования был открытым, для того, чтобы становиться лучше, чище и эффективнее. Если в программном коде есть дефекты, суслики (так называют разработчиков Golang) обнаружат и устранят проблемы.
  • прост в использовании и быстр в изучении. Go имеет простую структуру и синтаксис. Он лишен классов, наследования, типов. Язык основан на функциях, поэтому он прост и быстр в изучении. Он организован таким образом, что обеспечивает более быструю обратную связь, сокращает время выхода на рынок и экономит время и деньги. Поэтому продукты написанные на GoLang легче обслуживать, а их разработка быстрее и дешевле.
  • параллелизм. Параллелизм чрезвычайно важен в наше время. Это позволяет нескольким процессам работать одновременно и эффективно. Golang имеет эффективный параллелизм, такой же как C, C ++, Java, но в то же время параллелизм в Go выполняется намного проще благодаря процедурам, каналам и сборке мусора.
  • кроссплатформенность. Он используется для различных платформ, включая версии для Windows, Linux, Unix и BSD и мобильные устройства (начиная с 2015 года). Кроме того, он хорошо компилируется на многих ОС.
  • имеет сборщик мусора. Автоматическое управление памятью оказывает существенное влияние на производительность и помогает повысить эффективность параллелизма.
  • уменьшает количество ошибок и багов. Поскольку это компилируемый язык с очень строгой типизацией и статической типизацией, разработчики должны быть более точными и внимательными, поэтому код получается более аккуратный и безопасный.

Открытие и настройка PowerShell

PowerShell — это программа от Microsoft, предоставляющая интерфейс командной строки. Задачи администрирования как правило выполняются с помощью командлетов, которые являются частью программной среды .NET и могут выполнять операции.

Откройте консоль PowerShell, это можно сделать с помощью поиска.

Перейдите в домашний каталог с помощью команды:

cd ~

Затем вы будете в домашнем каталоге, Например, в C:UsersAdministrator.

Для установки GoLang необходимо настроить разрешения для PowerShell. По умолчанию она настроена для работы в наиболее безопасном режиме. Существует несколько уровней разрешений, которые возможно настроить:

Restricted

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

AllSigned

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

RemoteSigned

Позволяет запускать все скрипты и файлы конфигурации, а для загруженных из Интернета требуется подпись доверенным издателем.

Unrestricted

Сценарии и файлы будут выполняться независимо от источника и наличия подписи.

Мы рекомендуем использовать политику RemoteSigned, чтобы установить разрешения для текущего пользователя. Это позволит PowerShell принимать доверенные сценарии, не делая разрешения такими же широкими, какими они были бы с неограниченным разрешением. Введите следующую команду в PowerShell:

Set-ExecutionPolicy -Scope CurrentUser

Далее PowerShell предложит вам указать политику выполнения. Введите RemoteSigned для возможности установки пакетов:

RemoteSigned

Как только вы нажмете Enter, вас попросят подтвердить изменение в политике выполнения. Введите букву Y, чтобы изменения вступили в силу. Вы можете проверить текущие разрешения на сервере:

Get-ExecutionPolicy -List

Ожидаемый вывод:

Scope            ExecutionPolicy
-----            ---------------

MachinePolicy          Undefined

UserPolicy             Undefined

Process                Undefined

CurrentUser         RemoteSigned

LocalMachine           Undefined

Это подтверждает, что возможно запускать доверенные сценарии, загруженные из Интернета.

Установка диспетчера пакетов Chocolatey

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

Chocolatey — это менеджер пакетов командной строки, созданный для Windows по аналогии с apt-get в Linux. Chocolatey  поможет быстро установить приложения и различные инструменты.

Начните с создания объекта WebClient с именем $script, который разделяет настройки интернет-соединения с Internet Explorer:

$script = New-Object Net.WebClient

Используйте этот метод DownloadString  для инспекции скрипта:

$script.DownloadString("https://chocolatey.org/install.ps1")

Установите Chocolatey:

iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex

Установка текстового редактора Nano (опционально)

На этом шаге можно установить текстовый редактор nano, который использует интерфейс командной строки. Вы можете использовать nano для написания программ непосредственно в PowerShell. Это не обязательный шаг, так как вы также можете использовать текстовый редактор с графическим интерфейсом пользователя, например, Блокнот или Sublime.

Используйте Chocolatey для установки nano:

choco install -y nano

Установка Go

Как и в случае с nano на предыдущем шаге, используйте Chocolatey для установки Go:

choco install -y golang

После завершения установки убедитесь, что Go установлен. Чтобы увидеть изменения, закройте и снова откройте PowerShell от имени администратора, а затем проверьте доступную версию Go:

go version

Ожидаемый вывод:

go version go1.12.5 windows/amd64

Создание простой программы

В вашем домашнем каталоге откройте текстовый редактор командной строки nano и создайте новый файл:

nano hello.go

Вставьте следующие строки в файл:

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

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

Когда вы выйдете из nano и вернетесь в рабочую оболочку, запустите программу:

go run hello.go

Программа hello.go должна вывести следующую строку:

Hello, World!

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

Остались вопросы? Задайте их нашему эксперту и получите квалифицированную помощь