Как установить Go и настроить среду локального программирования в Windows 10

Вступление

https://golang.org [Go] - это язык программирования, родившийся из-за разочарования в Google. Разработчикам постоянно приходилось выбирать язык, который выполнялся эффективно, но компилировался много времени, или язык, который было легко программировать, но работал неэффективно в производстве. Go был спроектирован таким образом, чтобы все три были доступны одновременно: быстрая компиляция, простота программирования и эффективное выполнение на производстве.

Хотя Go является универсальным языком программирования, который можно использовать для многих различных программных проектов, он особенно хорошо подходит для сетевых программ / программ распределенных систем и заслужил репутацию «языка облака». Он направлен на то, чтобы помочь современному программисту сделать больше с помощью мощного набора инструментов, устранить споры о форматировании, сделав формат частью спецификации языка, а также упростив развертывание путем компиляции в один двоичный файл. Go легко изучается благодаря очень небольшому набору ключевых слов, что делает его отличным выбором как для начинающих, так и для опытных разработчиков.

Из этого туториала Вы узнаете, как установить Go на локальный компьютер с Windows 10 и настроить среду программирования с помощью командной строки.

Предпосылки

Вам понадобится компьютер с Windows 10 с административным доступом, подключенный к Интернету.

Шаг 1 - Открытие и настройка PowerShell

Вы будете выполнять большую часть установки и настройки через интерфейс командной строки, что является неграфическим способом взаимодействия с вашим компьютером. То есть вместо того, чтобы нажимать на кнопки, вы будете вводить текст и получать отзывы с вашего компьютера через текст. Командная строка, также известная как shell, может помочь вам изменить и автоматизировать многие задачи, которые вы выполняете на компьютере каждый день, и является важным инструментом для разработчиков программного обеспечения.

PowerShell - это программа от Microsoft, предоставляющая интерфейс оболочки командной строки. Административные задачи выполняются путем запуска cmdlets, произносится как command-let, которые являются специализированными классами программной среды .NET, которые могут выполнять операции. Открытый в августе 2016 года PowerShell теперь доступен на разных платформах как для систем Windows, так и для систем UNIX (включая Mac и Linux).

Чтобы найти Windows PowerShell, вы можете щелкнуть правой кнопкой мыши значок меню * Пуск * в левом нижнем углу экрана. Когда появится меню, нажмите * Search *, а затем введите + PowerShell в строку поиска. Когда вам будут предложены варианты, щелкните правой кнопкой мыши на Windows PowerShell в приложении Desktop. Для целей данного руководства выберите * Запуск от имени администратора *. Когда вам будет предложено диалоговое окно с вопросом * Хотите ли вы, чтобы это приложение могло вносить изменения в ваш ПК? * Нажмите * Да *.

Как только вы это сделаете, вы увидите текстовый интерфейс, содержащий строку слов, которая выглядит следующим образом:

изображение: https: //assets.digitalocean.com/articles/eng_python/Win10SetUp/Win10SetUp.png [Windows 10 PowerShell]

Чтобы выйти из системной папки, введите следующую команду:

cd ~

После этого вы окажетесь в домашнем каталоге, таком как + PS C: \ Users \ +.

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

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

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

  • * RemoteSigned * позволит вам запускать скрипты и файлы конфигурации, загруженные из Интернета, подписанные доверенными издателями, снова открывая вашу машину для уязвимостей, если эти доверенные скрипты действительно вредоносные.

  • * Unrestricted * запустит все скрипты и файлы конфигурации, загруженные из Интернета, как только вы подтвердите, что понимаете, что файл был загружен из Интернета. В этом случае цифровая подпись не требуется, поэтому вы можете открыть свой компьютер, рискуя запустить неподписанные и потенциально вредоносные сценарии, загруженные из Интернета.

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

Set-ExecutionPolicy -Scope CurrentUser

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

RemoteSigned

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

Get-ExecutionPolicy -List

Вы должны получить вывод, который выглядит примерно так:

Output        Scope ExecutionPolicy
       ----- ---------------
MachinePolicy       Undefined
  UserPolicy       Undefined
     Process       Undefined
 CurrentUser    RemoteSigned
LocalMachine       Undefined

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

Шаг 2 - Установка менеджера пакетов Chocolatey

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

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

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

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

$script = New-Object Net.WebClient

Посмотрите на доступные опции, передав объект + $ script с помощью` + | + в класс + Get-Member In`:

$script | Get-Member

Это вернет все члены (свойства и методы) этого объекта WebClient:

Snippet of Output . . .
DownloadFileAsync         Method     void DownloadFileAsync(uri address, string fileName), void DownloadFileAsync(ur...
DownloadFileTaskAsync     Method     System.Threading.Tasks.Task DownloadFileTaskAsync(string address, string fileNa...
DownloadString            Method     string DownloadString(string address), string DownloadString(uri address) #method we will use
DownloadStringAsync       Method     void DownloadStringAsync(uri address), void DownloadStringAsync(uri address, Sy...
DownloadStringTaskAsync   Method     System.Threading.Tasks.Task[string] DownloadStringTaskAsync(string address), Sy…
. . .

Просматривая вывод, вы можете определить метод + DownloadString +, используемый для отображения скрипта и подписи в окне PowerShell. Используйте этот метод для проверки скрипта:

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

После проверки сценария установите Chocolatey, введя в PowerShell следующее:

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

Командлет + iwr + или + Invoke-WebRequest + позволяет извлекать данные из Интернета. Это передаст скрипт в + iex + или командлет + Invoke-Expression +, который выполнит содержимое скрипта и запустит установку для менеджера пакетов Chocolatey.

Разрешить PowerShell для установки Chocolatey. После полной установки вы можете начать установку дополнительных инструментов с помощью команды + choco +.

Если вам потребуется обновить Chocolatey в любое время в будущем, выполните следующую команду:

choco upgrade chocolatey

С установленным менеджером пакетов вы можете установить все остальное, что вам нужно для среды программирования Go.

Шаг 3 - Установка текстового редактора Nano (необязательно)

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

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

choco install -y nano

Флаг + -y + автоматически подтверждает, что вы хотите запустить скрипт без запроса подтверждения.

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

Шаг 4 - Установка Go

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

choco install -y golang

PowerShell теперь установит Go, генерируя выходные данные в PowerShell во время этого процесса. После завершения установки вы должны увидеть следующий вывод:

OutputEnvironment Vars (like PATH) have changed. Close/reopen your shell to
see the changes (or in powershell/cmd.exe just type `refreshenv`).
The install of golang was successful.
Software installed as 'msi', install location is likely default.

Chocolatey installed 1/1 packages.
See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

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

go version

Вы получите вывод, подобный следующему:

Outputgo version

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

Шаг 5 - Создание рабочего пространства Go

Теперь, когда у вас установлены Chocolatey, Nano и Go, вы можете создать свое рабочее пространство для программирования.

Рабочая область Go будет содержать две директории в корне:

  • + src +: каталог, содержащий исходные файлы Go. Исходный файл - это файл, который вы пишете на языке программирования Go. Исходные файлы используются компилятором Go для создания исполняемого двоичного файла.

  • + bin +: каталог, содержащий исполняемые файлы, созданные и установленные инструментами Go. Исполняемые файлы - это двоичные файлы, которые запускаются в вашей системе и выполняют задачи. Обычно это программы, скомпилированные вашим исходным кодом или другим загруженным исходным кодом Go.

Подкаталог + src + может содержать несколько репозиториев управления версиями (таких как Git, Mercurial и http: // bazaar.canonical.com [базар]). Вы увидите каталоги типа + github.com + или + golang.org +, когда ваша программа импортирует сторонние библиотеки. Если вы используете репозиторий кода, например + github.com +, вы также поместите свои проекты и исходные файлы в этот каталог. Это позволяет канонически импортировать код в ваш проект. Canonical import - это импорт, который ссылается на полностью определенный пакет, такой как + github.com / digitalocean / godo +.

Вот как может выглядеть типичное рабочее пространство:

.
├── bin
│   ├── buffalo                                      # command executable
│   ├── dlv                                          # command executable
│   └── packr                                        # command executable
└── src
   └── github.com
       └── digitalocean
           └── godo
               ├── .git                            # Git repository metadata
               ├── account.go                      # package source
               ├── account_test.go                 # test source
               ├── ...
               ├── timestamp.go
               ├── timestamp_test.go
               └── util
                   ├── droplet.go
                   └── droplet_test.go

Каталог по умолчанию для рабочего пространства Go с версии 1.8 - это домашний каталог вашего пользователя с подкаталогом + go + или + $ HOME / go +. Если вы используете более раннюю версию Go, чем 1.8, все еще считается наилучшей практикой использовать местоположение + $ HOME / go + для вашей рабочей области.

Выполните следующую команду, чтобы перейти в каталог + $ HOME +:

cd $HOME

Затем создайте структуру каталогов для вашего рабочего пространства Go:

mkdir go/bin, go/src

Это обеспечит наличие следующей структуры каталогов:

└── $HOME
   └── go
       ├── bin
       └── src

До Go 1.8 требовалось установить локальную переменную среды с именем + $ GOPATH +. Хотя это больше явно не требуется, это все еще считается хорошей практикой, поскольку многие сторонние инструменты по-прежнему зависят от этой переменной.

Поскольку вы использовали Chocolatey для установки, эта переменная среды уже должна быть установлена. Вы можете проверить это с помощью следующей команды:

$env:GOPATH

Вы должны увидеть следующий вывод с вашим именем пользователя вместо + sammy +:

OutputC:\Users\\go

Когда Go компилирует и устанавливает инструменты, он помещает их в каталог + $ GOPATH / bin +. Для удобства обычно добавляем подкаталог + bin рабочей области в вашу` + $ PATH`. Вы можете сделать это с помощью команды + setx + в PowerShell:

setx PATH "$($env:path);$GOPATH\bin"

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

Теперь, когда у вас есть созданный корень рабочей области и установлена ​​переменная окружения + $ GOPATH +, вы создадите ваши будущие проекты со следующей структурой каталогов. В этом примере предполагается, что вы используете https://www.github.com [github.com] в качестве своего хранилища:

$GOPATH/src///

Если вы работали над проектом https://github.com/digitalocean/godo, вы должны поместить его в следующий каталог:

$GOPATH/src///

Структурирование ваших проектов таким образом сделает проекты доступными с помощью инструмента + go get +. Это также поможет удобочитаемости позже.

Вы можете убедиться в этом, используя команду + go get + для извлечения библиотеки + godo +:

go get github.com/digitalocean/godo

Вы можете увидеть, как он успешно загрузил пакет + godo +, перечислив каталог:

ls $env:GOPATH/src/github.com/digitalocean/godo

Вы получите вывод, похожий на этот:

Output    Directory: C:\Users\sammy\go\src\github.com\digitalocean\godo


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        4/10/2019   2:59 PM                util
-a----        4/10/2019   2:59 PM              9 .gitignore
-a----        4/10/2019   2:59 PM             69 .travis.yml
-a----        4/10/2019   2:59 PM           1592 account.go
-a----        4/10/2019   2:59 PM           1679 account_test.go
-rw-r--r--  1 sammy  staff   2892 Apr  5 15:56 CHANGELOG.md
-rw-r--r--  1 sammy  staff   1851 Apr  5 15:56 CONTRIBUTING.md
.
.
.
-a----        4/10/2019   2:59 PM           5076 vpcs.go
-a----        4/10/2019   2:59 PM           4309 vpcs_test.go

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

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

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

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

nano hello.go

Когда текстовый файл откроется в nano, напечатайте вашу программу:

hello.go

package main

import "fmt"

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

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

Этот код будет использовать пакет + fmt + и вызовет функцию + Println + с + Hello, World! + В качестве аргумента. Это заставит фразу + Hello, World! + Распечатать на терминале при запуске программы.

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

go run hello.go

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

OutputHello, World!

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

Заключение

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