Про книгу Язык программирования Go
Вы краем уха слышали о новом языке программирования Go, но не знаете, что он представляет собой на самом деле? Ответы на все ваши вопросы вы получите в этой книге. Она поможет вам познакомиться с языком Go поближе, узнать о его предназначении и преимуществах, и о том, как писать программы на этом языке (причем это будут программы не начинающего, но профессионального программиста — эффективные и идеоматичные).
Книга написана двумя профессионалами — как в области программирования, так и в области написания книг на программистские темы. Так что если вы хотите быть в курсе последних достижений в программировании — не сомневайтесь, взяв эту книгу, вы свернули на верный путь к профессиональному овладению языком Go.
Книга предназначена в первую очередь для программистов, уже уверенно владеющих каким-либо языком программирования.
Данная книга является важным и авторитетным источником знаний для тех, кто хочет изучить язык программирования Go. Она рассказывает о том, как писать ясные и идиоматические программы на языке Go для решения реальных практических задач. Книга не предполагает ни наличие некоторых предварительных знаний языка Go, ни опыта в работе с каким-то конкретным языком программирования, так что она будет доступна для вас, с каким бы языком вы раньше не работали — JavaScript, Ruby, Python, Java или C++.
Первая глава представляет собой справочник основных концепций языка Go, показанных на примере программ файлового ввода-вывода и обработки текстов, простейшей графики, а также веб-клиентов и серверов.
Первые главы охватывают структурные элементы программ на языке Go: синтаксис, управление потоком выполнения, типы данных и организация программ в виде пакетов, файлов и функций.
Приводимые примеры иллюстрируют множество пакетов стандартной библиотеки и показывают, как создавать собственные пакеты. В последующих главах механизм пакетов будет рассмотрен более подробно, и вы узнаете, как строить, тестировать и поддерживать проекты, используя инструментарий go.
В главах, посвященных методам и интерфейсам, описывается нестандартный подход языка Go к объектно-ориентированному программированию, в котором методы могут быть объявлены для любого типа, а интерфейсы — неявно удовлетворены. В этих главах поясняются ключевые принципы инкапсуляции, композиции и заменимости с использованием реалистичных примеров.
Две главы, посвященные параллелизму, представляют углубленный подход к этой важной теме. Первая глава охватывает основные механизмы go-подпрограмм и каналов, иллюстрирует стиль, известный как взаимодействие последовательных процессов, которым знаменит Go. Вторая охватывает более традиционные аспекты параллелизма с совместно используемыми переменными. Эти главы обеспечивают прочный фундамент для программистов, которые впервые встречаются с параллельными вычислениями.
Две последние главы рассматривают низкоуровневые возможности языка Go. Одна из них посвящена искусству метапрограммирования с помощью рефлексии, а другая показывает, как использовать пакет unsafe для выхода за пределы системы типов в особых случаях, а также как использовать инструмент cgo для связи Go с библиотеками C.
В книге приведены сотни интересных и практичных примеров хорошо написанного кода на языке Go, которые охватывают весь язык, его наиболее важные пакеты, и имеют широкий спектр применения. В каждой главе содержатся упражнения для проверки вашего понимания и изучения возможных расширений и альтернатив.