Вступление
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, и вы можете начать проект кодирования!