One place for hosting & domains

      локальной

      Установка Go и настройка локальной среды программирования в macOS


      Введение

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

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

      В этом руководстве вы научитесь устанавливать Go на локальном компьютере macOS и настраивать среду программирования через командную строку.

      Предварительные требования

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

      Шаг 1 — Открытие терминала

      Основную часть установки и настройки мы будем выполнять через командную строку — текстовый интерфейс взаимодействия с компьютером. Вместо нажатия на кнопки вы вводите текст и получаете от компьютера обратную связь в текстовом формате. Командная строка, также называемая «оболочка», помогает изменять и автоматизировать многие повседневные задачи, выполняемые на компьютерах. Это необходимый и очень важный инструмент для разработчиков программного обеспечения.

      Терминал macOS — это приложение, которое вы можете использовать для доступа к интерфейсу командной строки. Вы можете найти его в Finder, как и любое другое приложение. Для этого перейдите в папку «Приложения», а затем в папку «Утилиты». В этой папке дважды нажмите на приложение Terminal, чтобы открыть его как любое другое приложение. Также вы можете использовать поиск Spotlight, удерживая клавиши CMD и ПРОБЕЛ и вводя Terminal в появляющемся поле.

      Терминал macOS

      Существует множество разнообразных команд терминала, с помощью которых вы можете выполнять множество различных задач. Статья Введение в терминал Linux поможет вам лучше сориентироваться в работе с терминалом Linux, который похож на терминал macOS.

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

      Шаг 2 — Установка Xcode

      Xcode — это интегрированная среда разработки (IDE), состоящая из различных инструментов разработки программного обеспечения для macOS. Вы можете проверить установку Xcode, введя в окне терминала следующую команду:

      Следующие результаты означают, что среда разработки Xcode установлена:

      Output

      /Library/Developer/CommandLineTools

      Если вы получили сообщение об ошибке, выполните установку Xcode через App Store в браузере, используя параметры по умолчанию.

      После установки Xcode вернитесь в окно терминала. Теперь вам нужно установить отдельное приложение Command Line Tools Xcode с инструментами командной строки. Для этого введите следующую команду:

      Теперь вы установили Xcode и приложение Command Line Tools, и мы готовы к установке диспетчера пакетов Homebrew.

      Шаг 3 — Установка и настройка Homebrew

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

      Для установки Homebrew введите в окно терминала следующее:

      • /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

      Диспетчер Homebrew создан на языке Ruby и поэтому он изменит путь Ruby на вашем компьютере. Команда curl извлекает скрипт из заданного URL. Этот скрипт объясняет, какие операции будут выполнены, а затем приостанавливает процесс в ожидании вашего подтверждения. Так вы получаете большой объем обратной связи по работе скрипта в вашей системе, а также возможность проверить выполнение процесса.

      Если вам потребуется ввести пароль, учтите, что нажимаемые клавиши не отображаются в окне терминала, но их ввод регистрируется. Просто нажмите клавишу Return после завершения ввода пароля. В противном случае нажмите клавишу y («Да»), чтобы подтвердить установку.

      Просмотрим флаги, связанные с командой curl:

      • Флаг -f или --fail предписывает окну терминала не выводить документы HTML при ошибках сервера.
      • Флаг -s или --silent заглушает вывод curl так, что команда не отображает счетчик выполнения. В сочетании с флагом -S или --show-error этот флаг гарантирует вывод командой curl сообщения об ошибке в случае сбоя.
      • Флаг -L или --location предписывает команде curl повторить запрос в новое место, если сервер сообщает, что запрошенная страница перемещена в другое место.

      После завершения процесса установки мы поместим директорию Homebrew на верхний уровень переменной среды PATH. Благодаря этому установка Homebrew будет вызываться для инструментов, которые macOS может автоматически выбирать и которые могут запускаться против создаваемой нами среды разработки.

      Вам следует создать или открыть файл ~/.bash_profile с помощью текстового редактора командной строки nano, используя команду nano:

      Когда файл откроется в окне терминала, введите следующую команду:

      export PATH=/usr/local/bin:$PATH
      

      Для сохранения изменений нажмите клавишу CTRL и букву o, а затем нажмите клавишу RETURN, когда система предложит вам сделать это. Теперь вы можете выйти из nano, нажав клавишу CTRL и букву x.

      Для активации этих изменений выполните в терминале следующую команду:

      После этого внесенные вами изменения переменной среды PATH вступят в силу.

      Вы можете убедиться в успешной установке Homebrew с помощью следующей команды:

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

      Output

      Your system is ready to brew.

      В ином случае может быть выведено предупреждение о необходимости запуска другой команды, например brew update для проверки актуальности установленной версии Homebrew.

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

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

      Вы можете использовать Homebrew для поиска всех доступных пакетов с помощью команды brew search. В этом руководстве мы будем искать пакеты или модули, связанные с Go:

      Примечание. В этом руководстве не используется команда brew search go, поскольку она возвращает слишком много результатов. Поскольку go — очень короткое слово, и ему может соответствовать много пакетов, в качестве поискового запроса обычно используют golang. Эта практика также обычно применяется при поиске статей по Go в Интернете. Термин Golang происходит от названия домена Go, а именно golang.org.

      Терминал выведет список модулей, которые вы можете установить:

      Output

      golang golang-migrate

      В этом списке будет и Go. Переходите к установке:

      В окне терминала будет отображаться информация по процессу установки Go. Установка может занять несколько минут.

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

      Эта команда выводит номер установленной версии Go. По умолчанию устанавливается самая последняя стабильная версия Go.

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

      • brew update
      • brew upgrade golang

      brew update обновляет версию Homebrew, благодаря чему у вас будет самая актуальная информация о пакетах, которые вы хотите установить. Команда brew upgrade golang обновит пакет golang до последней доступной версии.

      Рекомендуется регулярно проверять актуальность установленной версии Go.

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

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

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

      На корневом уровне рабочего пространства Go имеются две директории:

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

      Субдиректория src может содержать несколько репозиториев контроля версий (например, Git, Mercurial и Bazaar). При импорте сторонних двоичных файлов вашей программой вы увидите такие директории, как github.com или golang.org. Если вы используете репозиторий кода, например github.com, вы также помещаете в эту директорию свои проекты и файлы исходного кода. Это обеспечивает канонический импорт кода в ваш проект. Канонический импорт — это операция импорта, которая ссылается на полностью квалифицированный пакет, например github.com/digitalocean/godo.

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

      .
      ├── bin
      │   ├── buffalo                                      # command executable
      │   ├── dlv                                          # command executable
      │   └── packr                                        # command executable
      └── src
          └── github.com
              └── digitalocean
                  └── godo
                      ├── .git                            # Git reposistory 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.

      Введите следующую команду для создания структуры директорий рабочего пространства Go:

      • mkdir -p $HOME/go/{bin,src}

      Опция -p предписывает команде mkdir создать в директории все родительские элементы, даже если их еще не существует. При использовании параметров {bin,src} для команды mkdir создается набор аргументов, предписывающий ей создать директорию bin и директорию src.

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

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

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

      Вы можете задать переменную $GOPATH посредством ее добавления в файл ~/.bash_profile.

      Откройте файл ~/.bash_profile с помощью nano или другого предпочитаемого текстового редактора:

      Чтобы задать переменную $GOPATH, добавьте в файл следующую строку:

      ~/.bash_profile

      export GOPATH=$HOME/go
      

      При компиляции и установке инструментов Go помещает их в директорию $GOPATH/bin. Для удобства субдиретория /bin рабочего пространства обычно добавляется в переменную PATH в файле ~/.bash_profile:

      ~/.bash_profile

      export PATH=$PATH:$GOPATH/bin
      

      Теперь в файле ~/.bash_profile должны быть следующие записи:

      ~/.bash_profile

      export GOPATH=$HOME/go
      export PATH=$PATH:$GOPATH/bin
      

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

      Для обновления оболочки используйте следующую команду для загрузки созданных глобальных переменных:

      Вы можете проверить обновление переменной $PATH, запустив команду echo и просмотрев результаты:

      Вы должны увидеть директорию $GOPATH/bin в своей домашней директории. Если вы вошли в систему под именем пользователя sammy, вы увидите путь /Users/sammy/go/bin.

      Output

      /Users/sammy/go/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

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

      $GOPATH/src/github.com/username/project
      

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

      $GOPATH/src/github.com/digitalocean/godo
      

      Такая структура проектов делает их доступными с помощью инструмента go get. Также она делает проекты удобнее для чтения.

      Для проверки вы можете использовать команду go get для доставки библиотеки godo:

      • go get github.com/digitalocean/godo

      Мы можем увидеть успешную загрузку пакета godo посредством вывода директории:

      • ls -l $GOPATH/src/github.com/digitalocean/godo

      Результат должен выглядеть примерно так:

      Output

      -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 . . . -rw-r--r-- 1 sammy staff 4893 Apr 5 15:56 vpcs.go -rw-r--r-- 1 sammy staff 4091 Apr 5 15:56 vpcs_test.go

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

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

      Вы настроили рабочее пространство Go и теперь можете создать простую программу “Hello, World!” Так вы убедитесь, что ваше рабочее пространство работает, и сможете лучше познакомиться с Go.

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

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

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

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

      Для выхода из nano нажмите клавиши control и х, а когда система предложит вам сохранить файл, нажмите клавишу y.

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

      После выхода из nano и возврата в оболочку запустите программу:

      Созданная программа hello.go выведет на терминале следующее:

      Output

      Hello, World!

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

      Заключение

      Поздравляем! Вы настроили рабочее пространство программирования Go на своем локальном компьютере macOS и теперь можете начинать проект по программированию.



      Source link

      Установка Go и настройка локальной среды программирования в Ubuntu 18.04


      Введение

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

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

      В этом руководстве вы научитесь устанавливать и настраивать рабочее пространство программирования Go с помощью командной строки. В этом руководстве описывается процедура установки в Ubuntu 18.04, однако общие принципы могут применяться и для других дистрибутивов Debian Linux.

      Предварительные требования

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

      Шаг 1 — Установка Go

      На этом шаге вы выполните установку Go посредством загрузки текущего выпуска с официальной страницы загрузки Go.

      Для этого нужно найти URL для текущего файла тар-архива двоичного релиза. Также вам может понадобиться записать хэш SHA256, поскольку вы будете использовать его для проверки загруженного файла.

      Основную часть установки и настройки вы будете выполнять через командную строку — текстовый интерфейс взаимодействия с компьютером. Вместо нажатия на кнопки вы вводите текст и получаете от компьютера обратную связь в текстовом формате.

      Командная строка, также называемая оболочка или терминал, помогает изменять и автоматизировать многие повседневные задачи, выполняемые на компьютерах каждый день. Это необходимый и очень важный инструмент для разработчиков программного обеспечения. Существует много других разнообразных команд терминала, с помощью которых вы можете выполнять множество различных задач. Дополнительную информацию об интерфейсе командной строки можно найти в руководстве Введение в терминал Linux.

      В Ubuntu 18.04 вы можете найти приложение терминала, нажав значок Ubuntu в верхнем левом углу экрана и введя terminal в панель поиска. Нажмите на значок приложения терминала, чтобы открыть его. Также вы можете нажать клавиши CTRL, ALT и T на клавиатуре, чтобы открыть приложение терминала автоматически.

      Терминал Ubuntu

      После открытия терминала двоичные файлы Go нужно установить вручную. Вы можете использовать диспетчер пакетов, например apt-get, но ручная установка поможет понять, какие изменения нужно внести в конфигурацию системы для создания действующего рабочего пространства Go.

      Прежде чем загружать Go, необходимо перейти в домашнюю директорию (~):

      Используйте команду curl для получения URL тар-архива файла, скопированного с официальной страницы загрузки Go:

      • curl -O https://dl.google.com/go/go1.12.1.linux-amd64.tar.gz

      Используйте sha256sum для проверки тар-архива файла:

      • sha256sum go1.12.1.linux-amd64.tar.gz

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

      Output

      2a3fdabf665496a0db5f41ec6af7a9b15a49fbe71a85a50ca38b1f13a103aeec go1.12.1.linux-amd64.tar.gz

      Извлеките загруженный архив и установите его в желаемую часть системы. Лучше всего хранить его в директории /usr/local:

      • sudo tar -xvf go1.12.1.linux-amd64.tar.gz -C /usr/local

      Теперь директория go должна располагаться внутри директории /usr/local. Рекурсивно измените владельца и группу этой директории на root:

      • sudo chown -R root:root /usr/local/go

      Так все файлы будут защищены, и только пользователь root сможет запускать двоичные файлы Go.

      Примечание. Хотя /usr/local/go — официально рекомендованная директория, некоторым пользователям может потребоваться использовать другой путь.

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

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

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

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

      Субдиректория src может содержать несколько репозиториев контроля версий (например, Git, Mercurial и Bazaar). Это обеспечивает канонический импорт кода в ваш проект. Канонический импорт — это операция импорта, которая ссылается на полностью квалифицированный пакет, например github.com/digitalocean/godo.

      При импорте сторонних двоичных файлов вашей программой вы увидите директорию github.com, golang.org или другую директорию, откуда ваша программа импортирует сторонние библиотеки. Если вы используете репозиторий кода, например github.com, вы также помещаете в эту директорию свои проекты и файлы исходного кода. Мы изучим эту концепцию на следующем шаге.

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

      .
      ├── 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.

      Введите следующую команду для создания структуры директорий рабочего пространства Go:

      • mkdir -p $HOME/go/{bin,src}

      Опция -p предписывает команде mkdir создать в директории все родительские элементы, даже если их еще не существует. При использовании параметров {bin,src} для команды mkdir создается набор аргументов, предписывающий ей создать директорию bin и директорию src.

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

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

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

      Вы можете задать $GOPATH, добавив глобальные переменные в ваш ~/.profile. Также вы можете добавить ее в файл .zshrc или .bashrc в соответствии с конфигурацией оболочки.

      Откройте файл ~/.profile с помощью nano или другого предпочитаемого текстового редактора:

      Чтобы задать переменную $GOPATH, добавьте в файл следующую строку:

      ~/.profile

      export GOPATH=$HOME/go
      

      При компиляции и установке инструментов Go помещает их в директорию $GOPATH/bin. Для удобства субдиректория /bin рабочего пространства обычно добавляется в переменную PATH в файле ~/.profile:

      ~/.profile

      export PATH=$PATH:$GOPATH/bin
      

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

      Наконец, вам нужно добавить двоичный файл go в PATH. Для этого добавьте /usr/local/go/bin в конец строки:

      ~/.profile

      export PATH=$PATH:$GOPATH/bin:/usr/local/go/bin
      

      Добавление /usr/local/go/bin в переменную $PATH делает все инструменты Go доступными в любом месте в вашей системе.

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

      Вы можете проверить обновление переменной $PATH, запустив команду echo и просмотрев результаты:

      Вы увидите директорию $GOPATH/bin в своей домашней директории. Если вы вошли в систему с именем пользователя root, вы увидите /root/go/bin в составе пути.

      Output

      /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/root/go/bin:/usr/local/go/bin

      Также вы увидите путь к инструментам Go для /usr/local/go/bin:

      Output

      /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/root/go/bin:/usr/local/go/bin

      Для проверки установки проверьте текущую версию Go:

      Результат должен выглядеть следующим образом:

      Output

      go version go1.12.1 linux/amd64

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

      $GOPATH/src/github.com/username/project
      

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

      $GOPATH/src/github.com/digitalocean/godo
      

      При такой структуре проекты доступны с помощью инструмента go get. Также она делает проекты удобнее для чтения. Для проверки вы можете использовать команду go get для доставки библиотеки godo:

      • go get github.com/digitalocean/godo

      При этом будет загружено содержимое библиотеки godo, и на компьютере будет создана директория $GOPATH/src/github.com/digitalocean/godo.

      Можно проверить успешную загрузку пакета godo посредством вывода директории:

      • ll $GOPATH/src/github.com/digitalocean/godo

      Результат должен выглядеть примерно следующим образом:

      Output

      drwxr-xr-x 4 root root 4096 Apr 5 00:43 ./ drwxr-xr-x 3 root root 4096 Apr 5 00:43 ../ drwxr-xr-x 8 root root 4096 Apr 5 00:43 .git/ -rwxr-xr-x 1 root root 8 Apr 5 00:43 .gitignore* -rw-r--r-- 1 root root 61 Apr 5 00:43 .travis.yml -rw-r--r-- 1 root root 2808 Apr 5 00:43 CHANGELOG.md -rw-r--r-- 1 root root 1851 Apr 5 00:43 CONTRIBUTING.md . . . -rw-r--r-- 1 root root 4893 Apr 5 00:43 vpcs.go -rw-r--r-- 1 root root 4091 Apr 5 00:43 vpcs_test.go

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

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

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

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

      Запишите свою программу в новый файл:

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

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

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

      После выхода из nano и возврата в оболочку запустите программу:

      go run hello.go
      

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

      Output

      Hello, World!

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

      Заключение

      Поздравляем! Вы настроили рабочее пространство программирования Go на своем локальном компьютере Ubuntu и теперь можете начинать проект по программированию.



      Source link

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


      Введение

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

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

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

      Предварительные требования

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

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

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

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

      Чтобы найти Windows PowerShell, щелкните правой кнопкой мыши значок меню Пуск в левом нижнем углу экрана вашего компьютера. Когда появится меню, нажмите Search (Найти) и введите PowerShell в панель поиска. В списке вариантов щелкните правой кнопкой мыши приложение Windows PowerShell. Для целей настоящего обучающего руководства нажмите Run as Administrator (Запуск от имени администратора). Когда откроется диалоговое окно Разрешить этому приложению вносить изменения на вашем устройстве?, нажмите Да.

      После этого вы увидите текстовый интерфейс со строкой следующего вида:

      Windows 10 PowerShell

      Выйдите из системной папки с помощью следующей команды:

      Теперь вы находитесь в домашнем каталоге, например, PS C:Userssammy.

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

      • Restricted — политика ограничения исполнения, заданная по умолчанию. В этом режиме вы не можете запускать скрипты, и PowerShell работает только как интерактивная оболочка.
      • AllSigned — вы можете запускать все скрипты и файлы конфигурации, подписанные доверенным издателем, т. е. вы можете сделать свою систему уязвимой для вредоносных скриптов, которые выглядят как подписанные доверенным издателем.
      • RemoteSigned — вы можете запускать загруженные из интернета скрипты и файлы конфигурации, подписанные доверенными издателями, что также делает вашу систему уязвимой к таким скриптам, если они носят вредоносный характер.
      • Unrestricted — режим без ограничений, позволяющий запускать все скрипты и файлы конфигурации, загруженные из интернета сразу после того, как вы подтвердите, что понимаете, что файл загружен из интернета. В этом случае цифровая подпись не требуется, и ваша система становится уязвима для неподписанных и потенциально вредоносных скриптов, загруженных из интернета.

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

      • Set-ExecutionPolicy -Scope CurrentUser

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

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

      • Get-ExecutionPolicy -List

      Вы должны получить результат, выглядящий следующим образом:

      Output

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

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

      Шаг 2 — Установка диспетчера пакетов Chocolatey

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

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

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

      Вначале создайте объект WebClient с именем $script, имеющий общие с Internet Explorer параметры подключения к интернету:

      • $script = New-Object Net.WebClient

      Для просмотра доступных опций передайте объект $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, запустите следующую команду:

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

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

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

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

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

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

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

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

      Примечание: поскольку go — очень короткое слово, обычно в качестве термина при установке пакетов и при поиске в Интернете статей вместо него обычно используется термин golang. Термин Golang происходит от названия домена Go, а именно golang.org.

      Теперь PowerShell выполнит установку Go и будет отображать ход выполнения в PowerShell. После завершения установки вы должны увидеть следующее:

      Output

      Environment 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:ProgramDatachocolateylogschocolatey.log).

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

      Результаты будут выглядеть примерно так:

      Output

      go version go1.12.1 windows/amd643.7.0

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

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

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

      На корневом уровне рабочего пространства Go имеются две директории:

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

      Подкаталог src может содержать несколько репозиториев контроля версий (например, Git, Mercurial и Bazaar). При импорте сторонних двоичных файлов вашей программой вы увидите такие директории, как github.com или golang.org. Если вы используете репозиторий кода, например, github.com, вы также помещаете в этот каталог свои проекты и файлы исходного кода. Это обеспечивает канонический импорт кода в ваш проект. Канонический импорт — это операция импорта, которая ссылается на полностью квалифицированный пакет, например, 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:

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

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

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

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

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

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

      Output

      C:Userssammygo

      При компиляции и установке инструментов Go помещает их в каталог $GOPATH/bin. Для удобства стоит добавить подкаталог bin рабочего пространства в $PATH. Для этого вы можете использовать команду setx в PowerShell:

      • setx PATH "$($env:path);$GOPATHbin"

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

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

      $GOPATH/src/github.com/username/project
      

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

      $GOPATH/src/github.com/digitalocean/godo
      

      Такая структура проектов делает их доступными с помощью инструмента go get. Также она делает проекты удобнее для чтения.

      Для проверки вы можете использовать команду go get для доставки библиотеки godo:

      • go get github.com/digitalocean/godo

      Примечание: если вы не установили git, Windows откроет диалоговое окно с предложением выполнить установку. Нажмите Да, чтобы продолжить, и следуйте указаниям по установке.

      Можно проверить успешную загрузку пакета godo посредством вывода каталога:

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

      Результат должен выглядеть примерно так:

      Output

      Directory: C:Userssammygosrcgithub.comdigitaloceangodo 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

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

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

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

      После выхода из nano и возврата в оболочку запустите программу:

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

      Output

      Hello, World!

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

      Заключение

      Поздравляем! Вы настроили рабочее пространство программирования Go на своем локальном компьютере Windows и теперь можете начинать проект по программированию.



      Source link