28 ноября 2023

🦫 Самоучитель по Go для начинающих. Часть 2. Ресурсы для изучения Go с нуля

Энтузиаст-разработчик, автор статей по программированию.
Расскажем про актуальные и полезные источники информации по языку Go, которые подойдут для самостоятельного изучения и помогут погрузиться в захватывающий мир программирования.
🦫 Самоучитель по Go для начинающих. Часть 2. Ресурсы для изучения Go с нуля

Онлайн-курсы

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

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

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

Первый урок Tour of Go
Первый урок Tour of Go

Стоит отметить, что весь туториал написан на английском языке, поэтому представляем список альтернативных курсов на русском:

  • Программирование на Golang (Stepik). В этом курсе изучаются основы языка, а также продвинутые темы, такие как работа с файлами и json, создание и развертывание веб-сервера. Важное место уделено заданиям разного уровня сложности, которые позволяют лучше понять материал и закрепить его на практике.
  • Go (Golang) – первое знакомство (Stepik). В курсе представлены основные концепции Go, достаточные для того, чтобы получить о нём базовое представление и понять, стоит ли изучать его на более глубоком уровне. Для успешного прохождения желательно иметь хотя бы минимальное представление о программировании.
  • Курс по основам Go (Code Basics). На этом курсе из 35 уроков рассматриваются базовые конструкции языка, коллекции, строки, функции и методы, конкурентное программирование. Теория подкрепляется практическими задачами с автоматической проверкой и решениями.
👨‍💻 Библиотека Go разработчика
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека Go разработчика»

YouTube-каналы

YouTube-каналы по Go: туториалы, подкасты, разбор внутреннего устройства языка
YouTube-каналы по Go: туториалы, подкасты, разбор внутреннего устройства языка

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

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

  • Николай Тузов — Golang. Николай в доступной форме объясняет основные концепции Go и его внутреннее устройство. На канале часто проводятся подкасты с экспертными Go-разработчиками, в которых обсуждаются важные обновления, проводятся code review проектов, затрагиваются темы профессионального роста, скорости разработки, и другие.
  • Maksim Zhashkevych. На канале вы найдете много полезных уроков по backend-разработке на Go. Программирование веб-сервисов, работа с базами данных и API, CI / CD, тестирование – это лишь малый список тем, которые автор затрагивает в своих видео.
  • The Art of Development. Автор канала записал полноценный курс из 20 видео по основам программирования на Go, в котором на понятных примерах объяснил концепции языка и показал, как разработать go приложение с развертыванием в docker.

Сайты с теорией

Сайты с теорией по Go
Сайты с теорией по Go
  • Документация + Блог. Документация языка – самый авторитетный и исчерпывающий источник информации, к которому нужно обращаться в первую очередь. Здесь можно найти практические уроки по разработке веб-сервиса, рекомендации по эффективному написанию кода на Go, исходный код языка и многое другое.
  • Введение в программирование на Go. На этом сайте с первого урока делается упор на разбор и написание кода, что позволяет увидеть, как теория работает на практических примерах. Помимо стандартных тем, рассматриваются особенности стандартной библиотеки, тестирование кода и рекомендации по дальнейшему изучению языка.
  • Go в примерах. Сайт содержит конкретные примеры применения синтаксиса языка и затрагивает как базовые, так и продвинутые темы, такие как процессы, сигналы и хеширование.
  • The Golang Handbook. Структурированное пособие на английском языке, которое сопровождается короткими видео с доступным объяснением основных концепций. Отлично подойдет тем, кто хочет в кратчайшие сроки разобраться с синтаксисом языка и начать писать собственные программы.
🎓 Библиотека Go для собеса
Подтянуть свои знания по Go вы можете на нашем телеграм-канале «Библиотека Go для собеса»

Сайты с задачами

Сайты с задачами по Go
Сайты с задачами по Go

Решение задач – это отличный способ развить мышление, научиться анализировать код и подготовиться к техническим интервью. Можно ставить себе задачи самостоятельно, например «написать алгоритм сортировки подсчетом», а можно воспользоваться уже существующими сайтами с готовыми условиями и тестирующей системой.

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

  • Codewars. Англоязычная площадка для решения задач на популярных языках программирования, включая Go. Есть задачи как на отработку синтаксических конструкций, так и на более сложные алгоритмические темы.
  • Leetcode. Классический ресурс для подготовки к техническим собеседованиям. Большинство задач взяты с реальных coding-интервью и разделены на три уровня сложности: easy, medium и hard. Отлично подойдет для отработки алгоритмов и структур данных на Go.
  • Exercism. Сайт содержит интерактивные пособия по изучению популярных языков программирования, включая Go. Теория преподается последовательно, а задания заточены под применение базовых конструкций и проверяют умение писать простейшие программы.
  • Codeforces. Популярная во всем мире площадка для участия в онлайн-соревнованиях по спортивному программированию. Также здесь можно решать задачи из открытого архива, участвовать в виртуальных соревнованиях и делиться знаниями в блоге. Отлично подходит для подготовки к алгоритмическим собеседованиям.
🧩 Библиотека задач по Go
Интересные задачи по Go для практики можно найти на нашем телеграм-канале «Библиотека задач по Go»

Книги и самоучители

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

«Язык программирования Go», Алан Донован, Брайан Керниган.

Язык программирования Go
Язык программирования Go

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

«Head First. Изучаем Go», Джей Макгаврен

Head First. Изучаем Go
Head First. Изучаем Go

Издания серии Head First известны своей оригинальной подачей материала с использованием наглядных иллюстраций, карикатур и интересных заданий, которые помогают лучше запомнить пройденные темы. Книга позволяет в быстром темпе освоить классические приемы в разработке на Go и на практических примерах познакомиться с его особенностями.

«Язык Go для начинающих», Максим Жашкевич

Язык Go для начинающих
Язык Go для начинающих

Автор доступным языком объясняет синтаксис Go и фундаментальные концепции разработки. Отдельное внимание уделено применению Go в разработке веб-приложений. Для закрепления теории в заключительной части книги содержится туториал по разработке полноценного REST API.

«Программирование на языке Go», Марк Саммерфильд

Программирование на языке Go
Программирование на языке Go

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

Подведём итоги

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

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

***

Содержание самоучителя

  1. Особенности и сфера применения Go, установка, настройка
  2. Ресурсы для изучения Go с нуля
  3. Организация кода. Пакеты, импорты, модули. Ввод-вывод текста.
  4. Переменные. Типы данных и их преобразования. Основные операторы
  5. Условные конструкции if-else и switch-case. Цикл for. Вложенные и бесконечные циклы
  6. Функции и аргументы. Области видимости. Рекурсия. Defer
  7. Массивы и слайсы. Append и сopy. Пакет slices
  8. Строки, руны, байты. Пакет strings. Хеш-таблица (map)
  9. Структуры и методы. Интерфейсы. Указатели. Основы ООП
  10. Наследование, абстракция, полиморфизм, инкапсуляция
  11. Обработка ошибок. Паника. Восстановление. Логирование
  12. Обобщенное программирование. Дженерики
  13. Работа с датой и временем. Пакет time
  14. Интерфейсы ввода-вывода. Буферизация. Работа с файлами. Пакеты io, bufio, os
  15. Конкурентность. Горутины. Каналы
  16. Тестирование кода и его виды. Table-driven подход. Параллельные тесты
  17. Основы сетевого программирования. Стек TCP/IP. Сокеты. Пакет net

МЕРОПРИЯТИЯ

Комментарии

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ