Сообщение об эпизоде ​​и ссылки на видео: 1, 2 (этот пост), 3, 4 и 5 (почти готово)

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

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

Быстрые ссылки:

Ключевые темы

Типы данных, пакеты и управление зависимостями

2:52 — Возиться с началом. Ведь субботнее утро!
3:00 — подведение итогов того, что мы рассмотрели на первом занятии. Включает также краткий обзор кода предыдущего сеанса, например библиотеки генерации случайных данных, которую мы настроили и использовали.
6:40 — некоторые особенности IDE, рассказы о преимуществах использования Go и несколько подробных соглашений о том, как используется синтаксис, переменные и связанные функции.
7:40 — описание gofmt и того, что это нам дает.
9:45 — просмотр плагинов gofmt и возможности IDE в соответствии с соглашениями.
14:06 — время нового примера! В этом я работаю над примером, показывающим, как найти повторяющиеся строки в переданном тексте.

Поиск дубликатов строк

Я прошел через различные этапы создания кода, но затем немного отклонился от примера в книге. Вместо строк CLI берет содержимое из текстового файла. Код в main.go получился таким.

Затем, если вы хотите проверить текстовый файл и оставшееся содержимое в этом проекте, проверьте главную ветку репозитория эпизода 2.

36:34 — Здесь я делаю тщательный шаг по фиксации этого проекта на github, который является репозиторием, включенным в этот пост. Однако я прохожу через интерфейс использования Jetbrains Goland для выполнения фиксации, как он включает gofmt и другие функции для улучшения состояния кода и обеспечения его соответствия требованиям линтера и связанным с ним критериям. Я также рассказываю о файле .gitignore и других элементах для создания полезного репозитория.
44:30 — Настройка репозитория для сегодняшнего кода на https://github.com/Adron/learning-go-…
50:00 — Повторная настройка ключа для использования Github. Как настроить ваши ssh-ключи с помощью ssh-keygen.
56:00 — выходя за рамки простого языка и создав сборку Go на Travis CI.
1:10:16 — создание новая ветка для следующих примеров кода и тем. В этот момент я перехожу к объявлениям типов. Работа с некоторыми константами, очень простыми объявлениями функций и соответствующими возможностями для расчета температуры в диапазоне от Фаренгейта до Цельсия.

Ветка tempApp доступна в репозитории здесь.

В этот момент я перехожу к объявлениям типов. Работа с некоторыми константами, очень простыми объявлениями функций и соответствующими возможностями для расчета температуры в диапазоне от Фаренгейта до Цельсия.

На этом этапе мы взглянем на наш первый пакет. Этот пакет в итоге выглядел так.

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

1:17:54 — На этом этапе, чтобы улучшить читаемость размеров шрифта, я перехожу к различным опциям Goland IDE.
1:38:12 — Создаю последнюю ветвь для этой сессии, чтобы получить общедоступный пакет и использовать его в проекте. Для этого я использую пакет генерации случайных данных для использования в коде приложения.

1:44:50 — Дальнейшее обсуждение и объяснение того, что включать в файлы .gitignore для управления проектами, а также что включать и не включать для зависимостей и других деталей, связанных со всем этим.
2: 13:22 — Офигенное хакерское окончание.