Pro Go. Полное руководство по программированию надежного и эффективного программного обеспечения с использованием Golang

Оглавление⌄
Часть I: Понимание языка GoГлава 1: Ваше первое приложение GoНастройка сценыУстановка средств разработкиУстановка GitВыбор редактора кодаСоздание проектаОпределение типа данных и коллекцииСоздание HTML-шаблоновЗагрузка шаблоновСоздание обработчиков HTTP и сервераНаписание функции обработки формыОбработка данных формыДобавление проверки данныхРезюмеГлава 2: Go в контекстеПочему вам стоит изучать Go?В чем подвох?Это действительно настолько плохо?Что вы должны знать?Какова структура этой книги?Часть 1: Понимание языка GoЧасть 2: Использование стандартной библиотеки GoЧасть 3: Применение GoЧто не охватывает эта книга?Что делать, если вы нашли ошибку в книге?Много ли примеров?Какое программное обеспечение вам нужно для примеров?На каких платформах будут работать примеры?Что делать, если у вас возникли проблемы с примерами?Где взять пример кода?Почему некоторые примеры имеют странное форматирование?Как связаться с автором?Что, если мне действительно понравилась эта книга?Что, если эта книга меня разозлила, и я хочу пожаловаться?РезюмеГлава 3: Использование инструментов GoИспользование команды GoСоздание проекта GoПонимание объявления пакетаПонимание оператора импортаПонимание функцииПонимание оператора кодаКомпиляция и запуск исходного кодаОчисткаИспользование команды go runОпределение модуляОтладка кода GoПодготовка к отладкеИспользование отладчикаИспользование подключаемого модуля редактора DelveЛинтинг Go-кодаИспользование линтераОтключение правил линтераИсправление распространенных проблем в коде GoФорматирование кода GoРезюмеГлава 4. Основные типы, значения и указателиПодготовка к этой главеИспользование стандартной библиотеки GoПонимание основных типов данныхПонимание литеральных значенийИспользование константПонимание нетипизированных константОпределение нескольких констант с помощью одногооператораПересмотр литеральных значенийИспользование переменныхПропуск типа данных переменнойПропуск присвоения значения переменнойОпределение нескольких переменных с помощью одногооператораИспользование краткого синтаксиса объявленияпеременныхИспользование пустого идентификатораПонимание указателейОпределение указателяСледование указателюПонимание нулевых значений указателяУказывание на указателиПонимание того, почему указатели полезныРезюмеГлава 5: Операции и преобразованияПодготовка к этой главеПонимание операторов GoПонимание операторов GoОбъединение строкПонимание операторов сравненияПонимание логических операторовПреобразование, анализ и форматирование значенийВыполнение явных преобразований типовПреобразование значений с плавающей запятой в целыечислаПарсинг из строкФорматирование значений как строкРезюмеГлава 6: Управление потокомПодготовка к этой главеПонимание управления потоком выполненияИспользование ключевого слова elseИспользование ключевого слова elseПонимание области действия оператора ifИспользование оператора инициализации с оператором ifИспользование циклов forВключение условия в циклИспользование операторов инициализации и завершенияПродолжение циклаПеречисление последовательностейИспользование операторов switchСопоставление нескольких значенийПринудительный переход к следующему оператору caseПредоставление пункта по умолчаниюИспользование оператора инициализацииИсключение значения сравненияИспользование операторов метокРезюмеГлава 7: Использование массивов, срезов и картПодготовка к этой главеРабота с массивамиИспользование литерального синтаксиса массиваПонимание типов массивовПонимание значений массиваСравнение массивовПеречисление массиваРабота со срезамиДобавление элементов в срезДобавление одного среза к другомуСоздание срезов из существующих массивовУказание емкости при создании среза из массиваСоздание срезов из других срезовИспользование функции копированияУдаление элементов срезаПеречисление срезовСортировка срезовСравнение срезовПолучение массива, лежащего в основе срезаРабота с картамиИспользование литерального синтаксиса картыПроверка элементов в картеУдаление объектов с картыПеречисление содержимого картыПонимание двойной природы строкПреобразование строки в руныПеречисление строкРезюмеГлава 8: Определение и использование функцийПодготовка к этой главеОпределение простой функцииОпределение и использование параметров функцииПропуск типов параметровПропуск имен параметровОпределение и использование результатов функцииИспользование указателей в качестве параметров функцийОпределение и использование результатов функцииВозврат функцией нескольких результатовИспользование ключевого слова deferРезюмеГлава 9: Использование типов функцийПодготовка к этой главеПонимание типов функцийПонимание сравнения функций и нулевого типаИспользование функций в качестве аргументовИспользование функций в качестве результатовСоздание псевдонимов функциональных типовИспользование литерального синтаксиса функцииПонимание области действия функциональной переменнойНепосредственное использование значений функцийПонимание замыкания функцииРезюмеГлава 10: Определение структурПодготовка к этой главеОпределение и использование структурыСоздание структурных значенийИспользование значения структурыЧастичное присвоение значений структурыИспользование позиций полей для создания значенийструктурыОпределение встроенных полейСравнение значений структурыОпределение анонимных типов структурСоздание массивов, срезов и карт, содержащих структурныезначенияПонимание структур и указателейПонимание удобного синтаксиса указателя структурыПонимание указателей на значенияПонимание функций конструктора структурыИспользование типов указателей для полей структурыПонимание нулевого значения для структур и указателей наструктурыРезюмеГлава 11: Использование методов и интерфейсовПодготовка к этой главеОпределение и использование методовОпределение параметров метода и результатовПонимание перегрузки методаПонимание получателей указателей и значенийОпределение методов для псевдонимов типовРазмещение типов и методов в отдельных файлахОпределение и использование интерфейсовОпределение интерфейсаРеализация интерфейсаИспользование интерфейсаПонимание эффекта приемников метода указателяСравнение значений интерфейсаВыполнение утверждений типаТестирование перед выполнением утверждения типаВключение динамических типовИспользование пустого интерфейсаИспользование пустого интерфейса для параметровфункцийРезюмеГлава 12: Создание и использование пакетовПодготовка к этой главеПонимание файла модуляСоздание пользовательского пакетаИспользование пользовательского пакетаПонимание управления доступом к пакетамДобавление файлов кода в пакетыРазрешение конфликтов имен пакетовСоздание вложенных пакетовИспользование функций инициализации пакетаИспользование внешних пакетовУправление внешними пакетамиРезюмеГлава 13: Тип и состав интерфейсаПодготовка к этой главеПонимание композиции типовОпределение базового типаТипы композицийСоздание цепочки вложенных типовИспользование нескольких вложенных типов в одной и тойже структуреПонимание, когда продвижение не может быть выполненоПонимание композиции и интерфейсовИспользование композиции для реализации интерфейсовСоставление интерфейсовРезюмеГлава 14. Использование горутин и каналовПодготовка к этой главеПонимание того, как Go выполняет кодСоздание дополнительных горутинВозврат результатов из горутинОтправка результата с использованием каналаПолучение результата с использованием каналаРабота с каналамиКоординация каналовОтправка и получение неизвестного количества значенийОграничение направления каналаИспользование операторов selectПолучение без блокировкиПрием с нескольких каналовОтправка без блокировкиОтправка на несколько каналовРезюмеГлава 15. Обработка ошибокПодготовка к этой главеРабота с исправимыми ошибкамиГенерация ошибокСообщение об ошибках через каналыИспользование удобных функций обработки ошибокРабота с неисправимыми ошибкамиВосстановление после паникиПаника после восстановленияВосстановление после паники в горутинахРезюмеЧасть II: Использование стандартной библиотеки GoГлава 16. Обработка строк и регулярные выраженияПодготовка к этой главеОбработка строкСравнение строкПреобразование регистра строкРабота с регистром символовПроверка строкМанипулирование строкамиОбрезка строкИзменение строкПостроение и генерация строкИспользование регулярных выраженийКомпиляция и повторное использование шаблоновРазделение строк с помощью регулярного выраженияИспользование подвыраженийЗамена подстрок с помощью регулярного выраженияРезюмеГлава 17: Форматирование и сканирование строкПодготовка к этой главеНаписание строкФорматирование строкПонимание глаголов форматированияИспользование глаголов форматирования общегоназначенияИспользование команд целочисленного форматированияИспользование глаголов форматирования значений сплавающей запятойИспользование глаголов форматирования строк и символовИспользование глагола форматирования логическихзначенийИспользование глагола форматирования указателяСканирование строкРабота с символами новой строкиИспользование другого источника строкИспользование шаблона сканированияРезюмеГлава 18: Математические функции и сортировка данныхПодготовка к этой главеРабота с числамиГенерация случайных чиселСортировка данныхСортировка числовых и строковых срезовПоиск отсортированных данныхСортировка пользовательских типов данныхРезюмеГлава 19: Даты, время и продолжительностьПодготовка к этой главеПредставление дат и времениПредставление дат и времениПредставление продолжительностиИспользование функций времени для горутин и каналовПеревод горутины в сонОтсрочка выполнения функцииПолучение уведомлений по времениПолучение повторяющихся уведомленийРезюмеГлава 20:Чтение и запись данныхПодготовка к этой главеПонимание средств чтения и записиПонимание средств чтенияПонимание средств записиИспользование служебных функций для программ чтения изаписиИспользование специализированных средств чтения и записиИспользование пайповОбъединение нескольких средств чтенияОбъединение нескольких средств записиПовторение данных чтения во WriterОграничение чтения данныхБуферизация данныхИспользование дополнительных методов буферизованногочтенияВыполнение буферизованной записиФорматирование и сканирование с помощью средств чтения изаписиСканирование значений из считывателяЗапись отформатированных строк в WriterИспользование Replacer с WriterРезюмеГлава 21: Работа с данными JSONПодготовка к этой главеЧтение и запись данных JSONКодирование данных JSONДекодирование данных JSONРезюмеГлава 22: Работа с файламиПодготовка к этой главеЧтение файловИспользование функции удобства чтенияИспользование файловой структуры для чтения файлаЗапись в файлыИспользование функции удобства записиИспользование файловой структуры для записи в файлЗапись данных JSON в файлИспользование удобных функций для создания новых файловРабота с путями к файламУправление файлами и каталогамиИзучение файловой системыОпределение существования файлаПоиск файлов с помощью шаблонаОбработка всех файлов в каталогеРезюмеГлава 23: Использование HTML и текстовых шаблоновПодготовка к этой главеСоздание HTML-шаблоновЗагрузка и выполнение шаблоновПонимание действий шаблонаСоздание текстовых шаблоновРезюмеГлава 24: Создание HTTP-серверовПодготовка к этой главеСоздание простого HTTP-сервераСоздание прослушивателя и обработчика HTTPПроверка запросаФильтрация запросов и генерация ответовИспользование удобных функций ответаИспользование обработчика удобной маршрутизацииПоддержка HTTPS-запросовСоздание статического HTTP-сервераСоздание статического маршрута к файлуИспользование шаблонов для генерации ответовОтвет с данными JSONОбработка данных формыЧтение данных формы из запросовЧтение составных формЧтение и настройка файлов cookieРезюмеГлава 25: Создание HTTP-клиентовПодготовка к этой главеОтправка простых HTTP-запросовОтправка POST-запросовНастройка запросов HTTP-клиентаИспользование удобных функций для создания запросаРабота с файлами cookieУправление перенаправлениямиСоздание составных формРезюмеГлава 26: Работа с базами данныхПодготовка к этой главеПодготовка базы данныхУстановка драйвера базы данныхОткрытие базы данныхВыполнение операторов и запросовЗапрос нескольких строкВыполнение операторов с заполнителямиВыполнение запросов для отдельных строкВыполнение других запросовИспользование подготовленных операторовИспользование транзакцийИспользование рефлексии для сканирования данных вструктуруРезюмеГлава 27: Использование рефлексииПодготовка к этой главеПонимание необходимости рефлексииИспользование рефлексииИспользование основных функций типаИспользование базовых возможностей ValueОпределение типовИдентификация байтовых срезовПолучение базовых значенийУстановка Value с использованием рефлексииУстановка одного Value с помощью другогоСравнение ValueИспользование удобной функции сравненияПреобразование значенийПреобразование числовых типовСоздание новых значенийРезюмеГлава 28: Использование рефлексии, часть....2Подготовка к этой главеРабота с указателямиРабота со значениями указателяРабота с типами массивов и срезовРабота со значениями массива и срезаПеречисление срезов и массивовСоздание новых срезов из существующих срезовСоздание, копирование и добавление элементов в срезыРабота с типами картРабота со значениями картыУстановка и удаление значений картыСоздание новых картРабота с типами структурОбработка вложенных полейПоиск поля по имениПроверка тегов структурыСоздание типов структурРабота со структурными значениямиУстановка значений поля структурыРезюмеГлава 29: Использование рефлексии, часть....3Подготовка к этой главеРабота с типами функцийРабота со значениями функцийСоздание и вызов новых типов функций и значенийРабота с методамиВызов методовРаботы с интерфейсамиПолучение базовых значений из интерфейсовИзучение методов интерфейсаРабота с типами каналовРабота со значениями каналаСоздание новых типов и значений каналовВыбор из нескольких каналовРезюмеГлава 30: Координация горутинПодготовка к этой главеИспользование групп ожиданияИспользование взаимного исключенияИспользование мьютекса чтения-записиИспользование условий для координации горутинОбеспечение однократного выполнения функцииИспользование контекстовОтмена запросаУстановка крайнего срокаПредоставление данных запросаРезюмеГлава 31. Модульное тестирование, бенчмаркинг и логированиеПодготовка к этой главеИспользование тестированияЗапуск модульных тестовУправление выполнением тестаКод бенчмаркингаУдаление установки из тестаВыполнение суббенчмаркинговЖурналирование ланныхСоздание пользовательских регистраторовРезюмеЧасть III: Применение GoГлава 32: Создание веб-платформыСоздание проектаСоздание некоторых основных функций платформыСоздание системы ведения журналаСоздание системы конфигурацииУправление службами с внедрением зависимостейОпределение жизненных циклов сервисаОпределение внутренних сервисных функцийОпределение функций регистрации службыОпределение функций разрешения службыРегистрация и использование сервисовРезюмеГлава 33. ПО промежуточного слоя, шаблоны и обработчикиСоздание конвейера запросовОпределение интерфейса компонента промежуточногопрограммного обеспеченияСоздание конвейера запросовСоздание базовых компонентовСоздание HTTP-сервераНастройка приложенияОптимизация разрешения сервисаСоздание HTML-ответовСоздание макета и шаблонаРеализация выполнения шаблонаСоздание и использование службы шаблоновЗнакомство с обработчиками запросовГенерация URL-маршрутовПодготовка значений параметров для метода обработчикаСопоставление запросов с маршрутамиРезюмеГлава 34: Действия, сеансы и авторизацияПредставляем результаты действийОпределение общих результатов действийОбновление заполнителей для использования результатовдействийВызов обработчиков запросов из шаблоновОбновление обработки запросовНастройка приложенияСоздание URL-адресов из маршрутовСоздание службы генератора URLОпределение альтернативных маршрутовПроверка данных запросаВыполнение проверки данныхДобавление сеансовОтсрочка записи данных ответаСоздание интерфейса сеанса, службы и промежуточногопрограммного обеспеченияСоздание обработчика, использующего сеансыНастройка приложенияДобавление авторизации пользователяОпределение основных типов авторизацииРеализация интерфейсов платформыРеализация контроля доступаРеализация функций заполнителя приложенияСоздание обработчика аутентификацииНастройка приложенияРезюмеГлава 35: SportsStore: настоящее приложениеСоздание проекта SportsStoreНастройка приложенияЗапуск модели данныхОтображение списка продуктовРеализация (временного) репозиторияОтображение списка продуктовСоздание шаблона и макетаНастройка приложенияДобавление пагинацииСтилизация содержимого шаблонаУстановка CSS-файла BootstrapОбновление макетаСтилизация содержимого шаблонаДобавление поддержки фильтрации категорийОбновление обработчика запросовСоздание обработчика категорииОтображение навигации по категориям в шаблоне спискатоваровРегистрация обработчика и обновление псевдонимовРезюмеГлава 36: SportsStore: корзина и база данныхСоздание корзины покупокОпределение модели корзины и репозиторияСоздание обработчика запроса корзиныДобавление товаров в корзинуНастройка приложенияДобавление виджета «Сводка корзины»Использование репозитория базы данныхСоздание типов репозиториевОткрытие базы данных и загрузка команд SQLОпределение начального числа и операторовинициализацииОпределение основных запросовОпределение постраничных запросовОпределение службы репозитория SQLНастройка приложения для использования репозиторияSQLРезюмеГлава 37: SportsStore: оформление заказа и администрированиеСоздание процесса оформления заказаОпределение моделиРасширение репозиторияОтключение временного репозиторияОпределение методов и команд репозиторияСоздание обработчика запросов и шаблоновСоздание функций администрированияСоздание функции администрирования продуктаСоздание функции администрирования категорийРезюмеГлава 38: SportsStore: отделка и развертываниеЗавершение функций администрированияРасширение репозиторияРеализация обработчиков запросовСоздание шаблоновОграничение доступа к функциям администрированияСоздание пользовательского хранилища и обработчиказапросовНастройка приложенияСоздание веб-службыПодготовка к развертываниюУстановка сертификатовНастройка приложенияСборка приложенияУстановка рабочего стола DockerCreating the Docker Configuration FilesРезюме
Описание
Ниже — практический обзор по теме «создания».
Автор бестселлеров Адам Фриман объясняет, как получить максимальную отдачу от Go, начиная с основ и заканчивая самыми продвинутыми и сложными функциями. Вы узнаете, как Go строит простую и согласованную систему типов для создания комплексной и продуктивной разработки, позволяющей создавать быстрые и надежные приложения, работающие на разных платформах.
Go, также известный как Golang, — это лаконичный и эффективный язык программирования, разработанный Google для создания высокопроизводительных кроссплатформенных приложений. Go сочетает в себе сильные статические типы с простым синтаксисом и всеобъемлющей стандартной библиотекой для повышения производительности программиста, при этом поддерживая такие функции, как параллельное/параллельное программирование.
Каждая тема освещена в ясном, лаконичном и серьезном подходе, который наполнен деталями, которые вам необходимо изучить, чтобы быть по-настоящему эффективным. Главы включают общие проблемы и способы их избежать.
Если материал оказался полезен — сохраните страницу.
Поделиться
Частые вопросы
Можно ли скачать «Pro Go. Полное руководство по программированию надежного и эффективного программного обеспечения с использованием Golang» бесплатно?
Да, «Pro Go. Полное руководство по программированию надежного и эффективного программного обеспечения с использованием Golang» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.
В каком формате и какого размера файл?
Книга предоставляется в формате PDF, размер файла 13,5 МБ.
Кто автор и когда вышла книга?
автор — Фримен Адам, издательство Самиздат, год выпуска 2022, 1286 страниц.
О чём книга «Pro Go. Полное руководство по программированию надежного и эффективного программного обеспечения с использованием Golang»?
Автор бестселлеров Адам Фриман объясняет, как получить максимальную отдачу от Go, начиная с основ и заканчивая самыми продвинутыми и сложными функциями.