DevGang
Авторизоваться

Лучшие инструменты Go

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

Предпосылки

Чтобы следовать этому руководству, вам понадобятся:

  1. Go установлен (версия 1.14 или выше)
  2. Модули Go включены
  3. Текстовый редактор по вашему выбору
  4. Базовые знания Go

Понимание команды Go

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

По словам Роба Пайка, одного из создателей Go, «цель новой команды go - возвращение к идеалу, когда программы Go должны компилироваться без настройки или дополнительных усилий со стороны разработчика, помимо написания необходимых операторов импорта».

При работе с инструментами Go синтаксис команды выполнения обычно представляет собой имя инструмента, добавленного к команде go, например go fix. Чтобы увидеть список всех известных инструментов, просто запустите команду go tools в своем терминале.

Улучшенный рабочий процесс с инструментами Go

В этом разделе мы рассмотрим различные инструменты Go, которые могут улучшить наш рабочий процесс разработки:

1. go vet

Ошибки - синтаксические, семантические или логические - неизбежно возникают при написании кода на любом языке программирования. Инструмент go vet проверяет код Go на наличие синтаксических ошибок и сообщает о них. Этот инструмент особенно удобен, когда вы работаете в команде.

Когда команда go vet запускается, она проверяет наличие ошибок в коде по пути, по которому она была вызвана. Также go vet можно вызвать таким образом go vet home/src/google-clone, здесь он будет проверять указанный путь на наличие ошибок.

Одна из самых мощных функций инструмента go vet заключается в том, что он предоставляет список проверок, которые мы можем указать. Когда указана проверка, инструмент Vet будет сообщать только о тех случаях, когда наш код не подчиняется правилу указанной проверки.

Например, если мы запустим команду go vet -tests=true, инструмент Vet проверит наличие ошибок в тестовых файлах этого каталога. Чтобы увидеть полный список всех проверок, которые можно указать, выполните команду go tool vet help.

2. gofmt

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

package main

import "fmt"

func main() {
   s := []string{"foo", "bear", "bar", "bare"}
   v := s[1:len(s)]
   for x, _ := range v {
      fmt.Println(x)
   }
}

Приведенный выше фрагмент кода охватывает срез и распечатывает индекс каждого элемента в этом срезе. Если мы хотим его отформатировать, мы просто запускаем эту команду: gofmt -w -s .

Команда включает флаг w, который сообщает инструменту gofmt перезаписать форматирование по умолчанию нашего файла и не распечатывать сделанные различия. Указанный нами флаг s заставляет gofmt проверять определенную двусмысленность в нашем коде и упрощает его.

Когда мы запустим указанную выше команду, наш код будет отредактирован, как показано ниже.

func main() {
   s := []string{"foo", "bear", "bar", "bare"}
   v := s[1:]
   for x := range v {
      fmt.Println(x)
   }
}

Выражение среза и диапазона было упрощено. Удивительно, правда? Инструмент gofmt должен быть другом каждого разработчика Go.

3. GoDoc

Беглый взгляд на исходный код вашего любимого пакета Go покажет, насколько серьезно к документации относятся в экосистеме Go. GoDoc используется для создания документации для исходного кода Go на основе комментариев, написанных в коде. Эта сгенерированная документация может затем отображаться как в формате HTML, определяемом с помощью тега -html, или в виде обычного текста.

package main

import "fmt"
//Copyright 2020
//This is a sample documentation for a code snippet.
/*
   This is the main function, it contains a slice,
   and ranges over the slice.
*/
func main() {
   s := []string{"foo", "bear", "bar", "bare"}
   v := s[1:]
   for x := range v {
      fmt.Println(x)
   }
}

Приведенный выше фрагмент - это прокомментированная версия примера диапазона, описанного выше. Если мы запустим godoc -http=:6060 и зайдем в браузер localhost:6060, мы увидим такую ​​HTML-страницу, которая показывает нам нашу документацию вместе с нашим кодом.

GoDoc также предоставляет нам возможность просматривать документацию любого пакета, доступного в стандартной библиотеке Go, локально и без подключения к Интернету. Чтобы просмотреть документацию по пакету, просто добавьте имя пакета и выполните команду godoc.

4. go get

Инструмент Get, как следует из названия, используется для получения и установки сторонних пакетов или зависимостей в проекты Go. Команда go get принимает URL-адрес устанавливаемого пакета.

Разработчики могут создавать сторонние инструменты Go с открытым исходным кодом. Мы также можем установить эти сторонние инструменты с помощью команды go get, передав URL-адрес пакета, например go get github.com/kisielk/errcheckgithub.com/kisielk/errcheck. Инструмент go get на сегодняшний день является наиболее важным и часто используемым инструментом Go.

Вывод

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

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

Источник:

#Golang
Комментарии
Чтобы оставить комментарий, необходимо авторизоваться

Присоединяйся в тусовку

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

Попробовать

Освой перспективную онлайн профессию!

Получить скидку