Привет, Хабр! Сегодня поговорим о Golang, вернее, о хороших книгах, которые написаны для начинающих разработчиков. Возможно, какие-то из этих книг пропустили в своё время и более опытные программисты — если так, стоит обратить на них внимание. Если же вы можете порекомендовать книги по Go, которые понравились именно вам, пишите в комментариях, обсудим и их. Ну а пока — поехали.
Head First. Изучаем Go
Автор: Джей Макгаврен
Не всем нравится серия Head First, но именно эту книгу хвалят многие. Она в доступной форме объясняет нюансы разработки на Go и знакомит начинающего специалиста с миром этого языка. Огромным достоинством книги является то, что в ней есть не только теория — автор добавил и большое количество примеров. Причём простых, с ними без особых проблем справится начинающий разработчик. После прочтения книги и освоения общепринятых правил и приёмов вполне можно будет называть себя гофером, пусть и малоопытным.
Ещё стоит отметить, что автор уделяет большое внимание темам, которые обычно нужны начинающим специалистам для прохождения собеседований. К плюсам книги можно отнести хороший авторский стиль, ориентированность на практику, а также актуальность материала. Устаревшей эту книгу вряд ли можно назвать.
Язык программирования Go
Авторы: Алан А. А. Донован, Брайан У. Керниган
Неплохая книга, которую авторы задумали в качестве пособия для начинающих. Она сформирована так, чтобы читатель сразу учился эффективно использовать особенности языка, а также стандартные библиотеки для своих проектов, а в дальнейшем и для решения корпоративных задач.
Это одна из наиболее авторитетных книг в серии изданий для начинающих. Авторы рассказывают об особенностях языка, причинах отхода от ООП. Показывают нюансы синтаксиса и возможности Golang, а также учат использовать ЯП для решения практических задач и реальных проблем.
В первой главе рассказывается о базовых конструкциях Go, во второй описываются структурные элементы программы Golang, в третьей рассматриваются основные типы данных, в четвёртой изучаются составные типы, пятая посвящена функциям и обработке ошибок. В других главах авторы рассказывают о методах, интерфейсах, параллелизме, пакетах, тестировании и рефлексии.
Введение в программирование на Go
Автор: Калеб Докси
Книга была выпущена ещё в 2014 году, но многое остаётся актуальным и сейчас. Предназначена, как и все остальные, для начинающих разработчиков. Вот какие темы рассматриваются в этом издании:
типы
переменные
управление потоком
массивы, срезы и карты
функции
указатели
структуры и интерфейсы
многопоточность
тестирование и многое другое
Достоинство книги — относительно небольшой объём, есть хорошие примеры кода плюс большое количество иллюстраций.
Программирование на Go. Разработка приложений XXI века
Автор: Марк Саммерфильд
Автор книги — один из основоположников программирования на Golang. Он показывает, как писать программы, которые используют возможности языка в полной мере. Книгу называют как учебником, так и справочником, в нём есть практически всё для начала работы с языком.
Достоинство издания — большое количество примеров, демонстрация преимуществ Go по отношению к другим языкам программирования. Саммерфильд показывает большое количество аспектов параллельного программирования на Golang с использованием каналов без применения блокировок.
В целом книга может пригодиться не только начинающим разработчикам, но и тем из них, кто уже является профессионалом какого-то из ЯП, но планирует изучить новый для себя язык.
Go на практике
Авторы: Мэтт Батчер, Мэтт Фарина
Книга предназначена уже для более опытных разработчиков, у кого есть опыт работы с Java или C#. Автор приводит решения большого количества типовых задач в ключевых областях.
Книга действительно представляет собой практическое руководство, основа которого — базовые концепции языка. Далее автор подводит читателя к приёмам использования языка Go в облаке, тестировании, отладке, маршрутизации. Рассказывает и о создании веб-служб, сетевых и других приложений.
В первой части книги рассказывается о горутинах с демонстрацией примеров задач, которые можно решать с их использованием. Есть и примеры рабочего кода.
Во второй части — две главы о безопасном программировании. В них рассказывается про нюансы обработки ошибок и аварий, а также про отладку и тестирование Go-приложений.
В третьей части сразу три главы посвящены разработке сайтов на Golang, включая разработку сервисов и REST API.
Ну а четвёртая часть посвящена вопросам разработки и эксплуатации Go-приложений на облачных серверах, а также взаимодействию с другими облачными сервисами.
В целом книга позволяет подготовить себя к разработке достаточно сложных облачных приложений на Golang.
На этом всё. Пять книг, указанных в подборке, позволяют изучить Go в достаточной степени, чтобы начать работать с этим языком. Конечно, бо́льшую часть нюансов и приёмов читатель будет изучать уже по ходу работы с этим ЯП, но авторы книг дают отличную базу, которая будет использоваться на протяжении всего карьерного пути разработчика.
freepoint360
Go: идиомы и паттерны проектирования Боднер - могут заменить «Head First. Изучаем Go» и «Введение в программирование на Go» - Дальше уже можно и Донована почитать.