Head First. Изучаем Go
Автор: Джей Макгаврен
В своей книге автор дает базовые понятия Golang. Материал подается последовательно и детально. Новички ознакомятся с понятиями:
-
Массивы
-
Переменные
-
Функции
-
Изучат типы данных
Постепенно читатель переходит к более сложным темам:
К преимуществам пособия можно отнести манеру изложения. Она понятна, легка для восприятия. В каждой теме приводятся наглядные примеры, что помогает быстрее усвоить информацию. Автор грамотно «балансирует» между информационным потоком и практической составляющей.
Из недостатков: не самый качественный перевод на русский. По возможности лучше изучить материал в оригинале.
Язык Go для начинающих
Автор: Максим Жашкевич
Хорошая книга для самостоятельного изучения Golang. Она охватывает все базовые аспекты языка:
-
Типы переменных
-
Массивы
-
Функции
-
Интерфейсы
-
Горутины
-
ООП
-
Каналы
Автор дает рекомендации для самообразования, помогая новичкам правильно подойти к процессу изучения.
Преимущество издания: свободный доступ. Это бесплатное пособие постепенно ведет читателя от простейших понятий до создания собственного REST API. Понятно изложенная теория дополняется наглядными примерами, помогая вникнуть в информацию.
Learning to Go
Автор: Владимир Вивьен
Автор позиционирует книгу как пошаговое руководство для начала работы с Golang. Раскрываются все необходимые темы: от типов данных до сетевого, многопоточного программирования. Читатель ознакомится с идиомами параллелизма, научится использовать функционал языка. Большое внимание уделяется практике. Предлагаются задачи разной сложности. Для изучения понадобится хорошее знание английского языка, перевода на русский нет.
Introducing Go: Build Reliable, Scalable Programs
Автор: Калеб Докси
Пособие для новичков, хорошо знающих английский (у книги нет перевода на русский). Докси постарался сжато и понятно рассказать обо всех базовых понятиях:
-
Типы данных, переменные, структуры управления
-
Сложные компоненты — фрагменты, интерфейсы
-
Запуск программ одновременно с горутинами, каналами
Главы издания плавно перетекают друг в друга, создавая цельную картину. Такой подход помогает читателю усваивать материал быстрее, создавая логические цепочки. С той же целью используются практические примеры с пошаговыми инструкциями. После изучения вы сможете самостоятельно писать программы на Go, применяя передовые методы.
Go на практике
Авторы: Мэтт Батчер и Мэтт Фарина
Это издание рассчитано на программистов с опытом, уже работающих с другими ЯП (Java, C++). Используя базовые понятия, авторы рассказывают о концепции Go, его применении в облачных сервисах. Пособие раскрывает темы:
Множество примеров — большой плюс учебника. Используя наглядные пособия, можно научиться создавать свой код на Golang.
Есть у «Go на практике» и недостаток. Он связан с переводом. Терминология не всегда правильно адаптирована. Иногда придется догадываться, что имел в виду автор. Лучше читать издание в оригинале.
Программирование на языке Go
Автор: Марк Саммерфильд
Книга для тех, кто уже знаком с основами Golang. Она повествует о сложных механизмах написания программ высокой производительности. Используя интересные практические задания, автор помогает усвоить оригинальные способы применения механизма динамической типизации при работе с ООП. Хорошо раскрыта тема параллельного программирования на Go.
Материал подается структурно в виде пособия для создания сложных приложений. Он хорошо раскрывает синтаксис языка, помогает им пользоваться. Информация достаточно сложна в изучении, но будет полезна для всех Golang-разработчиков.
Язык программирования Go
Авторы: Алан Донован и Брайан Керниган
Материал в этой работе направлен на помощь читателю в выполнении реальных задач. Он знакомит с базовыми понятиями, плюсами и минусами ЯП, помогает использовать их в работе. Для полного усвоения информации требуется знание любого другого языка программирования.
Авторы постарались написать в интересной форме с большим количеством наглядных примеров. Темы из пособия:
-
Синтаксис, типы данных
-
Организация пакетов, файлов, функций
-
Методы объектно-ориентированного программирования
-
Параллелизм
-
Метапрограммирование
В процессе изучения Донован и Керниган предлагают практические задачи, направленные на закрепление материала из конкретного раздела.
Недостаток учебника: не самый качественный перевод. Он не всегда правильно передает суть идиом и терминов. Но даже в этом варианте работу будет полезно прочитать практикующим разработчикам.
Go in Action
Авторы: Уильям Кеннеди, Брайан Кетельсен и Эрик Сент Мартин
Книга создает своеобразный «мостик», позволяя перейти от начального уровня к созданию сложных приложений многопоточного типа на Go. Раскрываются темы:
-
Спецификации и реализации языка
-
Внутреннего устройства структур данных
-
Тестирования и бенчмаркинга
Структура «Go in Action» выстроена так, чтобы постепенно подводить читателя от простых тем к сложным. Большое внимание уделяется практическим занятиям. Их много, они разнообразны и интересны. Иногда материал подается в излишне сжатой форме, но это не мешает полноценному изучению. У учебника отсутствует перевод на русский.
Golang для профи
Автор: Михалис Цукалос
Это пособие создано для программистов, имеющих опыт работы с Go. Оно охватывает большое количество тем, позволяя освоить работу с сетевыми сервисами, пакетами, конкурентностью. Раскрываются тематики машинного обучения, нейросетей, совместимости Golang с другими языками, сервисами. Сделать свою работу продуктивнее помогут примеры актуальных паттернов высокой эффективности.
Mastering Concurrency in Go
Автор: Натан Козыра
Работа Козыры доступно рассказывает о создании высокопроизводительных приложений с повышенным уровнем безопасности. Учебник предназначен для программистов, изучающих особенности параллелизма в Golang. Раскрывается его происхождение, структура ядра, проводится сравнение с аналогичным явлением в других ЯП.
Для закрепления полученной информации автор приводит много примеров кода, который можно использовать в разработке своих приложений. Практическая сторона реализована в задачах разной сложности, помогающих самостоятельно проработать изученные понятия.
Вывод
Использование специализированной литературы поможет в изучении Golang. Начиная с первых в списке изданий, программист сможет постепенно изучить новое направление, научится работать с Go посредством практических заданий.
Для опытных кодеров будут полезны книги, начиная с четвертой в списке. Они рассчитаны на высокий уровень знания английского, что нужно учитывать при чтении в оригинале. Также они подразумевают наличие навыков в других языках программирования — Java, C, C++. После изучения и закрепления материала из всех предложенных пособий можно смело приступать к коммерческим проектам. Еще лучше освоить профессию программиста помогут специализированные курсы по Golang.