Язык программирования Go. Алан А. А. Донован, Брайан У. Керниган
Мы предполагаем, что читатель программирует на одном или нескольких современных языках программирования, компилирующих языках наподобие С, C++ и Java или динамических, таких как Python, Ruby и JavaScript.Таким образом, мы не стараемся излагать материал так, как будто имеем дело с новичками в программировании. Внешне синтаксис будет вам знаком, так как будет содержать переменные и константы, выражения, управление потоком и функции.Глава 1 представляет собой руководство по базовым конструкциям Go, содержащее массу небольших программ для решения ежедневных задач наподобие чтения и записи файлов, форматированного вывода результатов, соединений “клиент/сервер” в Интернете и т.п.В главе 2 описаны структурные элементы программы Go — объявления, переменные, новые типы, пакеты и файлы, области видимости.В главе 3 рассмотрены основные типы данных — числа, логические значения, строки и константы.В главе 4 изучаются составные типы, т.е. типы, построенные из более простых типов с по мощью таких механизмов, как массивы, отображения, структуры, а также срезы (slices) — нетрадиционное представление динамических списков в Go.Глава 5 посвящена функциям, обработке ошибок, а также инструкциям panic , recover и defer. Таким образом, главы 1-5 представляют собой реальную основу, то, что является частью любого императивного языка.Синтаксис и стиль Go иногда отличаются от привычных для других языков программирования, но большинство программистов быстро к этому привыкают.В остальных главах внимание сосредоточено на темах, в которых подход Go менее привычен: методы, интерфейсы, параллелизм, пакеты, тестирование и рефлексия.