Всем привет!

Завершил обновление предыдущей версии книги и выкладываю в открытый доступ второе издание «Основы Go: Community edition». От полной версии книги ее отличает то, что в ней отсутствует сквозной проект – игра «Крестики-нолики», которая улучшается практически после каждой главы и сопровождается заданиями на самостоятельную проработку по ее улучшению (своего рода «проект-песочница» из которого я вытряс всю душу и придумал задания, способные привести к знатному подгоранию пятой точки ^_^).

Что изменилось?

На глобальном уровне:

  • Задачи к главам выделил в отдельный лабораторный практикум (~60 стр), который можно скачать отдельно от книги, что гипотетически позволяет ее использовать как учебник в образовательных процессах ВУЗов или СУЗов, а также дает возможность в большем объеме прокачать свои навыки тем людям, кто самостоятельно обучается по книге;

  • Объединил и доработал (расширил, изменил разделы и т.д.) некоторые главы, вследствие чего теперь в книге 8 глав вместо 11.

  • Код адаптирован под Go 1.25

На уровне глав:

  • Глава 1. Синтаксис, встроенные типы данных и управляющие конструкции Go. Объединил бывшую первую и вторую главу, добавив разделы по работе с строками (пакет strings), срезами (slices) и таблицами/картами (maps).

  • Глава 2. Функции, модули, пакеты и их тестирование. Мягко сказать, эта глава была перехерачена таким образом, что включает в себя сейчас третью, четвертую и одиннадцатую главы первого издания + много разных небольших изменений. Зачем это было сделано?) А чтобы студенты страдали хДДД Немного поменял подход и дал тестирование, начиная с функций, чтобы все лабы в лабораторном практикуме, начиная с 4-й работы были покрыты тестами. А без разбора модулей и пакетов, перескакивать на тесты не было смысла.

  • Глава 3. Объектно-ориентированное программирование в Go. Тут минимум изменений. Больше редактирование и исправление найденных ошибок

  • Глава 4. Обработка ошибок и паник в Go. Аналогично, как и с предыдущей главой

  • Глава 5. Работа с файлами и директориями. Сборка приложения. Добавил разделы как осуществить сборку и какие существуют способы задать конфигурацию запускаемому (и собираемому) приложению. Что касается части работы с файлами, то она была значительно расширена. Добавился раздел, посвященный реализации простенькой БД на основе односвязного списка и текстового файла. Раздел посвященный JSON также претерпел изменения и обзавелся примером разработки хранилища типа "ключ:значение". В Go 1.25 добавляется пакет json/v2, но он носит экспериментальный характер. Поэтому его пока решил не описывать, занеся в шорт-лист для добавления в 3-е издание.

  • Глава 6. Работа с СУБД SQLite. Претерпела косметические изменения. Основной упор сделал на сквозной проект к полной версии книги.

  • Глава 7. Конкурентность в Go. Аналогично предыдущей главе

  • Глава 8. Сетевое программирование. Основные изменения претерпел раздел «Пример реализации REST API web-сервиса». В процессе обновления занес себе в шорт-лист «на подумать», как изменить в одном из последующих изданий 6-ю и 8-ю главу.

Что дальше?

Дождаться возвращение эксклюзивных прав на книгу «Алгоритмы и структуры данных на Go» (август-сентябрь) и переработать ее в соответствии с тем видением, что сформировалось за последние пару месяцев в голове (и по Dart хочу такую же ^_^). Когда это будет сделано? Не знаю. Сейчас вернулся к работе над книгой «Dart Concurrency», которую планирую дописать к концу года (в идеале - к началу октября). Да и большую часть августа мне предстоит провести за подготовкой к осеннему сезону конференций и вычиткой книги «Основы Flutter», печатную версию которой планируем выпустить с издательством «Питер» к середине октября. Плюс, никто не отменял основную работу =)

Как часто будет обновляться книга?

Обновленное издание «Основы Go: Community edition» планирую выпускать раз в несколько лет.

Бумажная версия книги

По бумажной версии книги есть предварительная договоренность с издательством «Питер». Она может быть издана ближе к концу года или в начале следующего. К сожалению, время от момента передачи книги издательству до ее появления на маркетплейсах и прилавках – оставляет желать лучшего. Если повезет, то это минимум 5 месяцев =((

А что уж говорить про роялти от издательств автором... тут просто хочется зарыться под одеяло и рыдать. В лучшем случае автор получает ~5% от той суммы, что вы видите на сайте издательства, а потом его еще накуканивают на 13% =)

Насколько нужна бумажная версия книги (естественно, после работы с ней редакторского отдела издательства), можно проголосовать в конце статьи ;)

Где можно приобрести полную версию книги?

PDF и EPUB полной версии книги можно приобрести на Boosty. Там же можно и задонать на поддержание моих преподавательских штанов?А лучше – на абонемент в спортзал хД

«Основы Go» на Stepik

Полная электронная версия книги «Основы Go», вместе со сквозным проектом, с тестами (204) и интерактивными задачами на программирование (244) + их разбором, представлена на платформе Stepik в одноименном курсе. Если имеется желание приобрести его со скидкой 15%, то огромная просьба, делать это по следующей ссылке (по 24 августа по действует скидка в 30%)

Как поддержать без покупки полной версии книги, курсов и донатов?

Буду безмерно благодарен огласке о том, что существует такое издание книги: репост, пригласить на интервью на свой канал, конференцию, поставить звезду репозиторию в гитхабе и т.д.

Где ссылка, Лебовски?

Данная версия книги распространяется бесплатно, но с условием, что скачивается только с моего Boosty, по ссылкам в конце этой статьи, либо перекидывается в личных сообщениях. Т.е. размещение ее во всяких тг-каналах (группах), сайтах и т.д., вообще запрещено!

Книга доступна в 2-х версиях PDF и EPUB, которые можно скачать с

Яндекс диска

ㅤㅤ- pdf: https://vk.cc/cOCtIz

ㅤㅤ- epub: https://vk.cc/cOCtLG

Google Drive

ㅤㅤ- pdf: https://vk.cc/cOCu4Z

ㅤㅤ- epub: https://vk.cc/cOCubM

Репозиторий книги на github

ㅤㅤ

ㅤㅤ

p.s. История появления фотки: https://t.me/madteacher_channel/304

Буду очень благодарен за максимальный репост новости о книге!

Комментарии (4)


  1. FireWind
    18.08.2025 06:40

    Пожалуйста, можно указывать где нить в описании, под какую версию Go это все работает? Куча отличных книг, в которых быстро выясняется, что это под "лохматые" 1.NN версии, а сейчас все делается по другому. Сразу зная под какую версию адаптировано (или хотя бы частично адаптировано), было бы удобнее и проще читать/изучать. Возможно это сложно (перелопачивать 400+ страниц), но вдруг будет такая возможность?


    1. MADTeacher Автор
      18.08.2025 06:40

      День добрый!

      Спасибо за замечание! В описании самой книги это есть - Go 1.25 =)

      На всякий случай добавил это уточнение в раздел, что изменилось на глобальном уровне)


  1. atues
    18.08.2025 06:40

    Спасибо Вам. Вы интересно пишете и хорошо переводите :)


  1. Yurij_LL
    18.08.2025 06:40

    Stepik +