Этот репозиторий используется в образовательных целях. Он содержит решения упражнений и выводы по книге "Язык программирования Go" | Керниган Брайан, Донован Алан А. А..
Структура проекта соответствует структуре книги, каждый раздел содержит текст из книги, примеры кода, решенные упражнения и выводы. В некоторых частях текста и примеров есть исправления, так как в текущей версии Go некоторые методы устарели и были заменены или удалены. Для некоторых упражнений в комментариях добавлены примечания о проблемах, с которыми я столкнулся во время их решения, и как я решил эти проблемы.
Если вам понравился этот репозиторий и вы сочли его полезным, пожалуйста, поставьте звезду ⭐️. Это поможет другим людям найти этот проект и воспользоваться им.
English
This repository is used for educational purposes. It contains exercise solutions and conclusions from the book Go Programming Language | Kernighan Brian, Donovan Alan A. A.
The structure of the project follows the structure of the book, each section contains text from the book, code examples, solved exercises and conclusions. There are corrections in some parts of the text and examples, as the current version of Go some methods are obsolete and have been replaced or removed. For some of the exercises, notes have been added in the comments about problems I encountered while solving them and how I solved those problems.
If you enjoyed this repository and found it useful, please put a star at ⭐️. This will help other people find this project and use it.
Все ссылки ведут на конкретную главу книги.
All links lead to a specific chapter of the book.
Глава 1. Учебник
Глава 2. Структура программы
Глава 3. Фундаментальные типы данных
Глава 4. Составные типы
Глава 5. Функции
Глава б. Методы
Глава 7. Интерфейсы
- Глава 7. Интерфейсы
- 7.1. Интерфейсы как контракты
- 7.2. Типы интерфейсов
- 7.3. Соответствие интерфейсу
- 7.4. Анализ флагов с помощью flag.Value
- 7.5. Значения интерфейсов
- 7.6. Сортировка с помощью sort.Interface
- 7.7. Интерфейс http.Handler
- 7.8. Интерфейс error
- 7.9. Пример: вычислитель выражения
- 7.10. Декларации типов
- 7.11. Распознавание ошибок с помощью деклараций типов
- 7.12. Запрос поведения с помощью деклараций типов
- 7.13. Выбор типа
- 7.14. Пример: XML-декодирование на основе лексем
- 7.15. Несколько советов
Глава 8. Горутины и каналы
- Глава 8. Горутины и каналы
Глава 9. Параллельность и совместно используемые переменные
- Глава 9. Параллельность и совместно используемые переменные
Глава 10. Пакеты и инструменты Go
Глава 11. Тестирование
Глава 12. Рефлексия
- Глава 12. Рефлексия
- 12.1. Почему рефлексия?
- 12.2. reflect.Туре и reflect.Value
- 12.3. Рекурсивный вывод значения
- 12.4. Пример: кодирование S-выражений
- 12.5. Установка переменных с помощью reflect.Value
- 12.6. Пример: декодирование S-выражений
- 12.7. Доступ к дескрипторам полей структур
- 12.8. Вывод методов типа
- 12.9. Предостережение