Профессиональный Go: Полное руководство по программированию надежного и эффективного программного обеспечения с использованием Golang [Адам Фримен] (epub)
Книга заблокирована по требованию правообладателя или ФЗ-114/ФЗ-149/ФЗ-398.
Профессиональный Go: Полное руководство по программированию надежного и эффективного программного обеспечения с использованием Golang Адам Фримен
Автор бестселлеров Адам Фриман объясняет, как получить максимальную отдачу от Go, начиная с основ и заканчивая самыми продвинутыми и сложными функциями. Вы узнаете, как Go строит простую и согласованную систему типов для создания комплексной и продуктивной разработки, позволяющей создавать быстрые и надежные приложения, работающие на разных платформах.
Go, также известный как Golang, — это лаконичный и эффективный язык программирования, разработанный Google для создания высокопроизводительных кроссплатформенных приложений. Go сочетает в себе сильные статические типы с простым синтаксисом и всеобъемлющей стандартной библиотекой для повышения производительности программиста, при этом поддерживая такие функции, как параллельное/параллельное программирование.
Каждая тема освещена в ясном, лаконичном и серьезном подходе, который наполнен деталями, которые вам необходимо изучить, чтобы быть по-настоящему эффективным. Главы включают общие проблемы и способы их избежать.
[Оглавление]
Pro Go
Полное руководство по программированию надежного и эффективного программного обеспечения с использованием Golang
Часть I. Понимание языка Go
1. Ваше первое приложение Go
Настройка сцены
Установка средств разработки
Создание проекта
Определение типа данных и коллекции
Создание HTML-шаблонов
Создание обработчиков HTTP и сервера
Написание функции обработки формы
Добавление проверки данных
Резюме
2. Включение Go в контекст
Почему вам стоит изучать Go?
В чем подвох?
Это действительно настолько плохо?
Что вы должны знать?
Какова структура этой книги?
Что не охватывает эта книга?
Что делать, если вы нашли ошибку в книге?
Много ли примеров?
Какое программное обеспечение вам нужно для примеров?
На каких платформах будут работать примеры?
Что делать, если у вас возникли проблемы с примерами?
Где взять пример кода?
Почему некоторые примеры имеют странное форматирование?
Как связаться с автором?
Что, если мне действительно понравилась эта книга?
Что, если эта книга меня разозлила, и я хочу пожаловаться?
Резюме
3. Использование инструментов Go
Использование команды Go
Создание проекта Go
Компиляция и запуск исходного кода
Отладка кода Go
Линтинг Go-кода
Исправление распространенных проблем в коде Go
Форматирование кода Go
Резюме
4. Основные типы, значения и указатели
Подготовка к этой главе
Использование стандартной библиотеки Go
Понимание основных типов данных
Использование констант
Использование переменных
Использование пустого идентификатора
Понимание указателей
Резюме
5. Операции и преобразования
Подготовка к этой главе
Понимание операторов Go
Преобразование, анализ и форматирование значений
Резюме
6. Управление потоком выполнения
Подготовка к этой главе
Понимание управления потоком выполнения
Использование операторов if
Использование циклов for
Использование операторов switch
Использование операторов меток
Резюме
7. Использование массивов, срезов и карт
Подготовка к этой главе
Работа с массивами
Работа со срезами
Работа с картами
Понимание двойной природы строк
Резюме
8. Определение и использование функций
Подготовка к этой главе
Определение простой функции
Определение и использование параметров функции
Определение и использование результатов функции
Использование ключевого слова defer
Резюме
9. Использование функциональных типов
Подготовка к этой главе
Понимание типов функций
Создание псевдонимов функциональных типов
Использование литерального синтаксиса функции
Резюме
10. Определение сруктур
Подготовка к этой главе
Определение и использование структуры
Создание массивов, срезов и карт, содержащих структурные значения
Понимание структур и указателей
Резюме
11. Использование методов и интерфейсов
Подготовка к этой главе
Определение и использование методов
Размещение типов и методов в отдельных файлах
Определение и использование интерфейсов
Сравнение значений интерфейса
Выполнение утверждений типа
Использование пустого интерфейса
Резюме
12. Создание и использование пакетов
Подготовка к этой главе
Понимание файла модуля
Создание пользовательского пакета
Использование внешних пакетов
Резюме
13. Тип и композиция интерфейса
Подготовка к этой главе
Понимание композиции типов
Типы композиций
Понимание композиции и интерфейсов
Резюме
14. Использование горутин и каналов
Подготовка к этой главе
Понимание того, как Go выполняет код
Создание дополнительных горутин
Возврат результатов из горутин
Работа с каналами
Использование операторов select
Резюме
15. Обработка ошибок
Подготовка к этой главе
Работа с исправимыми ошибками
Работа с неисправимыми ошибками
Резюме
Часть IIИспользование стандартной библиотеки Go
16. Обработка строк и регулярные выражения
Подготовка к этой главе
Обработка строк
Использование регулярных выражений
Резюме
17. Форматирование и сканирование строк
Подготовка к этой главе
Написание строк
Форматирование строк
Сканирование строк
Резюме
18. Математические функции и сортировка данных
Подготовка к этой главе
Работа с числами
Сортировка данных
Резюме
19. Даты, время и продолжительность
Подготовка к этой главе
Представление дат и времени
Использование функций времени для горутин и каналов
Резюме
20. Чтение и запись данных
Подготовка к этой главе
Понимание средств чтения и записи
Использование служебных функций для программ чтения и записи
Использование специализированных средств чтения и записи
Буферизация данных
Форматирование и сканирование с помощью средств чтения и записи
Резюме
21. Работа с данными JSON
Подготовка к этой главе
Чтение и запись данных JSON
Резюме
22. Работа с файлами
Подготовка к этой главе
Чтение файлов
Запись в файлы
Использование удобных функций для создания новых файлов
Работа с путями к файлам
Управление файлами и каталогами
Изучение файловой системы
Резюме
23. Использование HTML и текстовых шаблонов
Подготовка к этой главе
Создание HTML-шаблонов
Создание текстовых шаблонов
Резюме
24. Создание HTTP-серверов
Подготовка к этой главе
Создание простого HTTP-сервера
Создание статического HTTP-сервера
Использование шаблонов для генерации ответов
Ответ с данными JSON
Обработка данных формы
Чтение и настройка файлов cookie
Резюме
25. Создание HTTP-клиентов
Подготовка к этой главе
Отправка простых HTTP-запросов
Настройка запросов HTTP-клиента
Создание составных форм
Резюме
26. Работа с базами данных
Подготовка к этой главе
Установка драйвера базы данных
Открытие базы данных
Выполнение операторов и запросов
Использование подготовленных операторов
Использование транзакций
Использование рефлексии для сканирования данных в структуру
Резюме
27. Использование рефлексии
Подготовка к этой главе
Понимание необходимости рефлексии
Использование рефлексии
Определение типов
Получение базовых значений
Установка Value с использованием рефлексии
Сравнение Value
Преобразование значений
Создание новых значений
Резюме
28. Использование рефлексии, часть 2
Подготовка к этой главе
Работа с указателями
Работа с типами массивов и срезов
Работа со значениями массива и среза
Работа с типами карт
Работа со значениями карты
Работа с типами структур
Работа со структурными значениями
Резюме
29. Использование рефлексии, часть 3
Подготовка к этой главе
Работа с типами функций
Работа со значениями функций
Работа с методами
Работы с интерфейсами
Работа с типами каналов
Работа со значениями канала
Создание новых типов и значений каналов
Выбор из нескольких каналов
Резюме
30. Координация горутин
Подготовка к этой главе
Использование групп ожидания
Использование взаимного исключения
Использование условий для координации горутин
Обеспечение однократного выполнения функции
Использование контекстов
Резюме
31. Модульное тестирование, бенчмаркинг и ведение журнала
Подготовка к этой главе
Использование тестирования
Код бенчмаркинга
Журналирование данных
Резюме
Часть IIIПрименение Go
32. Создание веб-платформы
Создание проекта
Создание некоторых основных функций платформы
Управление службами с внедрением зависимостей
Резюме
33. Промежуточное ПО, шаблоны и обработчики
Создание конвейера запросов
Создание HTML-ответов
Знакомство с обработчиками запросов
Резюме
34. Действия, сеансы и авторизация
Представляем результаты действий
Вызов обработчиков запросов из шаблонов
Создание URL-адресов из маршрутов
Определение альтернативных маршрутов
Проверка данных запроса
Добавление сеансов
Добавление авторизации пользователя
Резюме
35. SportsStore: настоящее приложение
Создание проекта SportsStore
Запуск модели данных
Отображение списка продуктов
Добавление пагинации
Стилизация содержимого шаблона
Добавление поддержки фильтрации категорий
Резюме
36. SportsStore: корзина и база данных
Создание корзины покупок
Использование репозитория базы данных
Резюме
37. SportsStore: оформление заказа и администрирование