РуЛиб - онлайн библиотека > Цукалос Михалис > Go (golang) > Golang для профи: работа с сетью, многопоточность, структуры данных и машинное обучение с Go

Читаем онлайн «Golang для профи: работа с сетью, многопоточность, структуры данных и машинное обучение с Go»

Mastering Go
Second Edition
Create Golang production applications using network
libraries, concurrency, machine learning, and advanced data
structures
Mihalis Tsoukalos
BIRMINGHAM - MUMBAI
Михалис Цукалос
Golang
для профи
Работа с сетью, многопоточность,
структуры данных и машинное
обучение с Go
Второе издание
2020
ББК 32.988.02-018.1
УДК 004.43
Ц85
Цукалос Михалис
Ц85 Golang для профи: работа с сетью, многопоточность, структуры данных и машинное обучение с Go. — СПб.: Питер, 2020. — 720 с.: ил. — (Серия «Для профессио­
налов»).
ISBN 978-5-4461-1617-1
Go является языком высокопроизводительных систем будущего. Эта книга показывает, как заставить
Go работать на реальных производственных системах.
Для программистов, которые уже знакомы с основами языка Go, эта книга содержит примеры,
шаблоны и четкие объяснения, которые помогут вам глубоко понять возможности Go и применить
их в своей работе по программированию.
Книга охватывает нюансы Go с подробными руководствами по типам и структурам, пакетам, параллелизму, сетевому программированию, дизайну компиляторов, оптимизации и многому другому. Каждая глава заканчивается упражнениями и ресурсами, чтобы полностью внедрить ваши новые знания.
16+ (В соответствии с Федеральным законом от 29 декабря 2010 г. № 436-ФЗ.)
ББК 32.988.02-018.1
УДК 004.43
Права на издание получены по соглашению с Packt Publishing. Все права защищены. Никакая часть данной
книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев
авторских прав.
Информация, содержащаяся в данной книге, получена из источников, рассматриваемых издательством как надежные. Тем не менее, имея в виду возможные человеческие или технические ошибки, издательство не может
гарантировать абсолютную точность и полноту приводимых сведений и не несет ответственности за возможные
ошибки, связанные с использованием книги. Издательство не несет ответственности за доступность материалов,
ссылки на которые вы можете найти в этой книге. На момент подготовки книги к изданию все ссылки на интернетресурсы были действующими.
ISBN 978-1838559335 англ.
ISBN 978-5-4461-1617-1
© Packt Publishing 2019
First published in the English language under the title ‘Mastering Go — Second
Edition — (9781838559335)’
© Перевод на русский язык ООО Издательство «Питер», 2020
© Издание на русском языке, оформление ООО Издательство «Питер», 2020
© Серия «Для профессионалов», 2020
Краткое содержание
Об авторе............................................................................................................. 21
О научном редакторе............................................................................................ 22
Предисловие......................................................................................................... 23
Глава 1. Go и операционная система................................................................... 29
Глава 2. Go изнутри............................................................................................ 70
Глава 3. Работа с основными типами данных Go............................................... 120
Глава 4. Использование составных типов данных.............................................. 163
Глава 5. Как улучшить код Go с помощью структур данных............................... 216
Глава 6. Неочевидные знания о пакетах и функциях Go.................................... 273
Глава 7. Рефлексия и интерфейсы на все случаи жизни.................................... 330
Глава 8. Как объяснить UNIX-системе, что она должна делать.......................... 364
Глава 9. Конкурентность в Go: горутины, каналы и конвейеры......................... 429
Глава 10. Конкурентность в Go: расширенные возможности............................. 452
Глава 11. Тестирование, оптимизация и профилирование кода.......................... 510
Глава 12. Основы сетевого программирования на Go........................................ 580
Глава 13. Сетевое программирование: создание серверов и клиентов.............. 638
Глава 14. Машинное обучение на Go................................................................ 683
Что дальше?....................................................................................................... 718
Оглавление
Об авторе............................................................................................................. 21
О научном редакторе............................................................................................ 22
Предисловие......................................................................................................... 23
Для кого предназначена эта книга................................................................... 23
О чем эта книга............................................................................................... 23
Как получить максимальную пользу от этой книги........................................... 26
Загрузите файлы с примерами кода............................................................ 27
Где скачать цветные иллюстрации.............................................................. 27
Условные обозначения .............................................................................. 27
От издательства.............................................................................................. 28
Глава 1. Go и операционная система................................................................... 29
История Go...................................................................................................... 29
Куда движется Go?.......................................................................................... 30
Преимущества Go............................................................................................ 30
Идеален ли Go?.......................................................................................... 31
Утилита godoc............................................................................................. 32
Компиляция Go-кода........................................................................................ 33
Выполнение Go-кода