Вы краем уха слышали о новом языке программирования Go, но не знаете, что он представляет собой на самом деле? Ответы на все ваши вопросы вы получите в книге "Язык программирования Go". Она поможет вам познакомиться с языком Go поближе, узнать о его предназначении и преимуществах, и о том, как писать программы на этом языке (причем это будут программы не начинающего, но профессионального программиста — эффективные и идеоматичные).
Книга "Язык программирования Go" написана двумя профессионалами — как в области программирования, так и в области написания книг на программистские темы. Так что если вы хотите быть в курсе последних достижений в программировании — не сомневайтесь, взяв эту книгу, вы свернули на верный путь к профессиональному овладению языком Go.
Книга предназначена в первую очередь для программистов, уже уверенно владеющих каким-либо языком программирования.
Данная книга является важным и авторитетным источником знаний для тех, кто хочет изучить язык программирования Go. Она рассказывает о том, как писать ясные и идиоматические программы на языке Go для решения реальных практических задач. Книга не предполагает ни наличие некоторых предварительных знаний языка Go, ни опыта в работе с каким-то конкретным языком программирования, так что она будет доступна для вас, с каким бы языком вы раньше не работали — JavaScript, Ruby, Python, Java или C++.
- Первая глава представляет собой справочник основных концепций языка Go, показанных на примере программ файлового ввода-вывода и обработки текстов, простейшей графики, а также веб-клиентов и серверов.
- Первые главы охватывают структурные элементы программ на языке Go: синтаксис, управление потоком выполнения, типы данных и организация программ в виде пакетов, файлов и функций.
Приводимые примеры иллюстрируют множество пакетов стандартной библиотеки и показывают, как создавать собственные пакеты. В последующих главах механизм пакетов будет рассмотрен более подробно, и вы узнаете, как строить, тестировать и поддерживать проекты, используя инструментарий go.
- В главах, посвященных методам и интерфейсам, описывается нестандартный подход языка Go к объектно-ориентированному программированию, в котором методы могут быть объявлены для любого типа, а интерфейсы — неявно удовлетворены. В этих главах поясняются ключевые принципы инкапсуляции, композиции и заменимости с использованием реалистичных примеров.
- Две главы, посвященные параллелизму, представляют углубленный подход к этой важной теме. Первая глава охватывает основные механизмы go-подпрограмм и каналов, иллюстрирует стиль, известный как взаимодействие последовательных процессов, которым знаменит Go. Вторая охватывает более традиционные аспекты параллелизма с совместно используемыми переменными. Эти главы обеспечивают прочный фундамент для программистов, которые впервые встречаются с параллельными вычислениями.
- Две последние главы рассматривают низкоуровневые возможности языка Go. Одна из них посвящена искусству метапрограммирования с помощью рефлексии, а другая показывает, как использовать пакет unsafe для выхода за пределы системы типов в особых случаях, а также как использовать инструмент cgo для связи Go с библиотеками C.
В книге приведены сотни интересных и практичных примеров хорошо написанного кода на языке Go, которые охватывают весь язык, его наиболее важные пакеты, и имеют широкий спектр применения. В каждой главе содержатся упражнения для проверки вашего понимания и изучения возможных расширений и альтернатив. Исходные тексты свободно доступны для скачивания с адреса http://gopl.io/ и могут быть легко получены, построены и инсталлированы с использованием команды go get.
Об авторах
Алан А. А. Донован является членом команды разработчиков языка Go в Google, в Нью-Йорке. Он получил ученую степень в области информатики в Кембридже и в МТИ, и занимается программированием с 1996 года. Начиная с 2005 года, он работает в Google над проектами в области инфраструктуры и был одним из разработчиков патентованной системы построения Blaze. Им создано множество библиотек и инструментов для статического анализа программ на языке Go, включая oracle, godoc -analysis, eg и gorename.
Брайан У. Керниган — профессор факультета информатики в Принстонском Университете. С 1969 по 2000 год он работал в исследовательском центре в Bell Labs, где занимался языками и инструментами для Unix. Он является соавтором ряда книг, включая такие, как Язык программирования C, 2-е издание и Практика программирования.
Оглавление
Предисловие 11
Глава 1. Учебник 21
Глава 2. Структура программы 49
Глава 3. Фундаментальные типы данных 75
Глава 4. Составные типы 109
Глава 5. Функции 151
Глава 6. Методы 191
Глава 7. Интерфейсы 209
Глава 8. Go-подпрограммы и каналы 259
Глава 9. Параллельность и совместно используемые переменные 303
Глава 10. Пакеты и инструменты Go 333
Глава 11. Тестирование 353
Глава 12. Рефлексия 383
Глава 13. Низкоуровневое программирование 409
Предметный указатель 425
Розгорнути ⇓