Книги по языку Go для начального уровня
Джей Макгаврен. Head First. Изучаем Go

В книге Джея Макгаврена подробно и последовательно изложены базовые сведения, необходимые для освоения нового языка. Читатели познакомятся с типами данных, функциями, переменными и массивами, а также освоят более сложные аспекты программирования на Go, вплоть до работы с сетевыми коммуникациями и многопроцессорной обработкой.
Отмеченные читателями достоинства:
- доступный, лёгкий для восприятия язык;
- обилие наглядных примеров;
- выдержанный баланс между теоретическим базисом и практической составляющей.
Недостатки:
- не очень высокое качество перевода, рекомендуется читать книгу в оригинале;
- книга предназначена исключительно для новичков, переходящих с другого языка на Go;
- может показаться затянутой и чрезмерно подробной.
Максим Жашкевич. Язык Go для начинающих

На протяжении 12 глав автор знакомит читателя с миром языка программирования Go, затрагивая широкий круг тем: типы переменных, функции, массивы, интерфейсы, ООП, горутины и каналы. Также даны наставления для самообразования.
Достоинства:
- находится в открытом доступе;
- лаконичная и простая подача материалов:
- интуитивно понятный язык;
- наглядные примеры;
- обилие затронутых тем – от примитивов вначале до собственного REST API в завершении.
Недостатки:
- порой слишком минималистичный стиль изложения материала, новичку может показаться, что ряд важных нюансов автором опущен.
Caleb Doxsey. Introducing Go: Build Reliable, Scalable Programs

Ещё одна работа уважаемого в среде программистов издательства O’REILLY, на этот раз о языке Go.
Достоинства:
- небольшой объём и доступное изложение позволит быстро освоить материал книги;
- пошаговые инструкции, сопровождаемые примерами и интересными заданиями;
- последовательное изложение: каждая новая глава книги концептуально и логически связана с предыдущей.
Недостатки:
- отсутствие перевода;
- книга позволит освоить азы, но не рассчитана на более глубокое изучение.
Книги для среднего уровня
Мэтт Батчер, Мэтт Фарина. Go на практике

Книга предназначена для людей, уже освоивших программирование, например, на Java или C#. Это практическое руководство опирается на основополагающие концепции Go и знакомит читателя с примерами его использования в облаке. Изучается тестирование и отладка, а также создание веб-сервисов и других приложений.
Достоинства:
- доступный язык;
- множество примеров использования кода.
Недостатки:
- некачественная бумага;
- материал порой подан недостаточно развёрнуто;
- плохой перевод и адаптация терминов (лучше читать в оригинале).
Go Programming — From Beginner to Professional, Samantha Coyle

Это исчерпывающее руководство, которое поможет вам освоить язык программирования Go от новичка до эксперта. Начиная с фундаментальных понятий, книга рассказывает о переменных, инструментах командной строки и работе с данными, а затем переходит к продвинутым концепциям, включая обработку ошибок, интерфейсы и дженерики, используя новейшие возможности Go с помощью практических упражнений. Попутно вы научитесь структурировать проекты с помощью модулей Go, эффективно управлять пакетами и освоите методы отладки.
Достоинства:
- Логичная структура обучения — книга начинается с основ и постепенно переходит к продвинутым темам, обеспечивая прочный фундамент и плавный переход между уровнями сложности
- Практический подход — включает практические упражнения и проекты в конце каждой главы для закрепления изученного материала
- Доступное изложение — автор предлагает понятные объяснения и увлекательный стиль повествования, делая сложные темы доступными и приятными для чтения
Go Recipes for Developers: Top techniques and practical solutions

Практическое руководство по Go с готовыми решениями типичных задач. Книга написана Бураком Сердаром, опытным инженером с 30-летним стажем в распределенных системах и техническим лидером в компаниях уровня Red Hat.
Начиная с основ структурирования кода, автор раскрывает разные подходы к организации пакетов. Вы найдете решения для сетевого программирования, работы с процессами, базами данных, конвейерами обработки данных и тестирования. Каждая глава содержит готовые к использованию фрагменты кода для последовательных и параллельных сред.
Примеры используют новейшие возможности языка, включая дженерики и структурированное логирование. Большинство решений реализованы на стандартной библиотеке без сторонних пакетов.
Книга подходит разработчикам с базовым пониманием Go. Опытные программисты могут использовать её как справочник с примерами для различных сценариев.
Достоинства:
- Книга охватывает ключевые темы для Go-разработчиков: от структуры проекта и работы со строками до сложных концепций параллельного программирования.
- Материал разделен на понятные блоки «как это сделать» и «как это работает».
William Kennedy, Brian Ketelsen, Erik St. Martin. Go in Action

С помощью этой книги можно пройти путь от владеющего только азами Go новичка до матёрого программиста, cпособного создавать сложные многопоточные приложения.
Достоинства:
- упор на практику, отсутствие отвлечённых тем;
- последовательная структура: книга плавно ведёт читателя от простого к сложному;
- множество увлекательных заданий.
Недостатки:
- книга доступна лишь на английском языке;
- порой материал подаётся чрезмерно сжато.
Vladimir Vivien. Learning to Go

Пошаговое руководство поможет читателю быстро начать работу с Go от самых основ до идиом параллелизма и сетевого программирования.
Достоинства:
- лаконичный стиль: всё чётко, сжато и по делу.
- объем охваченных тем: от типов данных до многопоточного программирования;
- знакомство с важными функциями Go;
- упор на практическое применение языка.
Недостатки:
- отсутствие перевода;
- множество нюансов оставлено для самостоятельного изучения.
Для продвинутого уровня
Михалис Цукалос. Golang для профи

Книга позволит вам быстро изучить многие аспекты Go: типы данных языка, работу с пакетами, конкурентность, сетевое программирование и т. д.
Достоинства:
- примеры эффективных паттернов программирования;
- широкий охват различных тем;
- уникальные материалы: машинное обучение на языке Go, нейронные сети, совместимость Go c Git, JSON и т.д.
- книга новая (издана в 2020 г.), актуальный материал.
Недостатки:
- высокая стоимость.
Nathan Cozyra. Mastering Concurrency in Go

Автор концентрируется на использовании параллелизма в Go: на его истории и отличиях от реализации в других языках, а также на особенностях структуры ядра параллелизма.
С помощью книги можно научиться создавать безопасные и высокопроизводительные приложения.
Достоинства:
- доступная подача сложного материала, простой язык изложения;
- приведённый в издании код легко реализуем на практике;
- высокое качество кода примеров;
- обучение через практические задачи.
Недостатки:
- книга сконцентрирована на особенностях параллелизма и рекомендуется исключительно тем, кому необходимо освоить именно этот аспект программирования на Go;
- отсутствие перевода.
Если ваших любимых книг нет в списке, не стесняйтесь рекомендовать их в комментариях 👇. Если вы читали какое-либо из перечисленных изданий, укажите, какие его преимущества и недостатки стоит отметить.
Комментарии
Учебник Go (Golang) на русском языке от Николая Прохорёнок. Лучшее что встречал. Все четко, структурно и очень логично расписано.
Ёмко и по делу, хорошая статья
Ребята, привет! Ссылка на мою книгу битая, вот акутальная: (https://zhashkevych.com/). Отредактируйте пожалуйста в статье.
Привет, Максим! Спасибо, поправили.
Спасибо! Очень приятно увидеть свою книгу в Вашей подборке!
в телеграмм канале комментарии запрещены, потому здесь -- наверно книга хорошая, но прочитать не смог, т.к. не возможно читать, в pdf примеры программ на скриншотах, мелко и мыло -- адЪ и содомия