Главная » 2026 » Ноябрь » 13 » Николай Прохоренок. Учебник Go
15:47
Николай Прохоренок. Учебник Go

Николай Прохоренок. Учебник Go

Язык Go является компилируемым языком. Для преобразования текстового файла с программой в исполняемый exe-файл потребуется установить на компьютер специальную программу — компилятор. Редакторы VS Code и Notepad++, который мы будем использовать для набора кода и сборки проектов из этого учебника Go.

Скачать учебник Go в формате PDF

На этом сайте публикуются не все статьи учебниика Go. Полный список статей доступен в учебнике в формате PDF. Оглавление можно посмотреть ниже. Ссылка для скачивания учебника Go доступна пользователям оплатившим 500 руб. (оплата банковской картой). Для заказа учебника Go в формате PDF пишите на почту unicross@yandex.ru

Покупка учебника в формате PDF отличный способ сказать спасибо автору за проделанный труд. Если вы хотите дополнительно помочь, то можно пожертвовать любую сумму. Пожертвования принимаются на электронный кошелек ЮMoney 410011140483022 (перейдите по ссылке https://yoomoney.ru/to/410011140483022).

Оглавление учебника Go в формате PDF

Первые шаги
      Работа с командной строкой
      Добавление пути в переменную PATH
      Установка Go
      Первая программа
      Компиляция и запуск программы
      Структура программы
      Комментарии в программе
      Вывод данных
      Форматированный вывод данных
      Ввод данных
      Получение данных из командной строки
      Предотвращение закрытия окна консоли
      Преждевременное завершение выполнения программы

Переменные и типы данных
      Объявление переменной
      Инициализация переменной
      Объявление сразу нескольких переменных
      Сокращенный формат объявления переменных
      Присваивание значения переменной
      Именование переменных
      Специальная переменная-заглушка
      Типы данных в языке Go
      Определение размера типа
      Оператор type
      Сохранение в переменной данных произвольного типа
      Динамическое определение типа данных
      Приведение типов
      Указатели
      Константы
      Области видимости переменных
      Динамическое выделение памяти

Операторы и циклы
      Математические операторы
      Побитовые операторы
      Операторы присваивания
      Оператор запятая
      Операторы сравнения
      Приоритет выполнения операторов
      Оператор ветвления if
      Оператор выбора switch
      Цикл for
            Полный формат
            Сокращенный формат
            Бесконечное выполнение инструкций
            Перебор элементов массива, словаря и строки
      Оператор continue: переход на следующую итерацию цикла
      Оператор break: прерывание цикла
      Оператор goto

Числа
      Указание значений
      Математические константы
      Основные функции для работы с числами
      Округление чисел
      Тригонометрические функции
      Преобразование строки в число
      Преобразование числа в строку
      Генерация псевдослучайных чисел
      Бесконечность и значение NAN
      Комплексные числа

Массивы и слайсы
      Массивы
            Объявление и инициализация массива
            Определение количества элементов
            Получение и изменение значения элемента массива
            Перебор элементов массива
            Массивы указателей
            Указатели на массивы
            Создание копии массива
            Многомерные массивы
            Преобразование массива в строку
            Проверка наличия значения в массиве
      Слайсы
            Объявление и инициализация слайса
            Определение количества элементов
            Получение и изменение значения элемента слайса
            Добавление элементов
            Перебор элементов слайса
            Слайсы из указателей
            Указатели на слайсы
            Создание копии слайса
            Многомерные слайсы
            Преобразование слайса в строку
            Поиск минимального и максимального значений
            Сортировка слайса
            Проверка наличия значения в слайсе
            Переворачивание слайса
      Срезы. Преобразование массива в слайс
      Байтовые слайсы
            Изменение регистра символов
            Удаление пробельных символов
            Преобразование байтового слайса в символьный
            Повтор фрагмента несколько раз
            Разбиение на фрагменты по разделителю
            Преобразование двумерного слайса в одномерный
            Замена фрагментов
            Поиск фрагментов
            Сравнение слайсов
            Нормализация слайса
            Определение количества символов
      Байтовый буфер
            Получение содержимого буфера
            Добавление данных в буфер
            Получение размера и емкости буфера
            Изменение размера буфера
            Запись содержимого буфера в поток
      Структура Reader
            Получение содержимого буфера
            Замена содержимого буфера
            Получение размера буфера
            Запись содержимого буфера в поток

Словари и списки
      Словари
            Объявление и инициализация словаря
            Определение количества элементов
            Получение и изменение значения элемента словаря
            Добавление элементов
            Проверка существования ключа
            Удаление элемента из словаря
            Перебор элементов словаря
            Создание копии словаря
            Указатели на словари
            Преобразование словаря в строку
      Двусвязные списки
            Создание списка
            Добавление элементов
            Получение указателей на элементы
            Определение количества элементов списка
            Удаление элементов из списка
            Перемещение элементов
            Перебор элементов списка

Символы и строки
      Символы
            Объявление символа
            Специальные символы
            Изменение регистра символов
            Проверка типа содержимого символа
            Проверка валидности символа
            Преобразование символа в строку
      Строки
            Объявление строки
            Преобразование строки в слайс и обратно
            Определение длины строки
            Доступ к элементам строки
            Перебор элементов строки
            Проверка валидности строки
            Конкатенация строк
            Форматирование строк
            Изменение регистра символов
            Удаление пробельных символов
            Повтор фрагмента несколько раз
            Разбиение на фрагменты по разделителю
            Преобразование строкового слайса в строку
            Замена фрагментов
            Поиск фрагментов
            Сравнение строк
            Нормализация строки
            Указатели на строки
            Получение фрагмента строки
      Структура Builder
            Получение содержимого буфера
            Добавление данных в буфер
            Получение размера и емкости буфера
            Очистка буфера
      Структура Reader
            Получение содержимого буфера
            Замена содержимого буфера
            Получение размера буфера
            Запись содержимого буфера в поток

Регулярные выражения
      Создание шаблона регулярного выражения
      Синтаксис регулярных выражений
            Экранирование специальных символов
            Модификаторы
            Метасимволы
            Стандартные классы
            Квантификаторы
            «Жадность» квантификаторов
            Группы
      Проверка соответствия шаблону
      Поиск полного соответствия шаблону
      Поиск всех соответствий шаблону
      Замена фрагментов
      Разделение строки на фрагменты по шаблону

Работа с датой и временем
      Структура Time
            Создание объекта
            Преобразование объекта в метку времени UNIX
            Преобразование объекта в строку
            Получение отдельных значений даты и времени
            Сравнение объектов
            Преобразование часовых поясов
      Тип данных Duration
            Указание значения
            Получение значения
      Изменение момента времени
      «Засыпание» программы
      Измерение времени выполнения фрагментов кода

Пользовательские функции
      Создание функции и ее вызов
      Способы возврата значения из функции
            Возврат одного значения
            Возврат нескольких значений
            Именованные возвращаемые значения
      Способы передачи параметров в функцию
      Передача массивов и слайсов в функцию
      Передача данных произвольных типов
      Переменное количество параметров
      Сохранение в переменной ссылки на функцию
      Передача в функцию ссылки на другую функцию
      Анонимные функции
      Замыкание
      Рекурсия
      Инструкция defer

Объектно-ориентированное программирование
      Основные понятия
      Объявление структуры
      Создание экземпляра структуры
      Доступ к полям структуры
      Приватные и публичные поля
      Имитация конструктора
      Анонимные структуры
      Пустые структуры
      Вложенные структуры
      Указатели на структуры и поля
      Передача структур в функцию
      Методы структур
      Методы пользовательских типов
      Композиция структур
      Интерфейсы
            Создание интерфейса
            Композиция интерфейсов
            Пустые интерфейсы
      Теги
      Преобразование объекта в строку
      Формат JSON: преобразование объекта в строку и обратно

Пакеты и модули
      Инструкция package: объявление пакета
      Инструкция import: импорт пакета
      Разделение пакета на файлы
      Создание модуля
      Создание пользовательского пакета
      Установка модулей
      Обновление и удаление зависимостей
      Функция init()

Обработка ошибок
      Типы ошибок
      Интерфейс error: описание ошибки
      Функция panic(): генерация паники
      Функция recover(): обработка паники
      Способы поиска ошибок в программе
      Отладка программы в редакторе Visual Studio Code
      Тестирование
      Протоколирование

Чтение и запись файлов
      Открытие и закрытие файла
      Указание пути к файлу
      Запись в файл
      Чтение из файла
      Файлы произвольного доступа
      Изменение длины содержимого файла
      Создание временных файлов
      Стандартные потоки ввода/вывода
      Перенаправление ввода/вывода
      Структура Writer: запись в файл
      Структура Reader: чтение из файла
      Структура ReadWriter: запись в файл и чтение из файла
      Структура Scanner: построчное чтение из файла
      Преобразование кодировок
            Русские кодировки
            Кодировка UTF-16
            Кодировка UTF-32

Работа с файловой системой
      Пакет path/filepath: преобразование пути
      Переименование и удаление файла
      Права доступа к файлу и каталогу
      Получение информации о файле и каталоге
      Функции для работы с каталогами
      Перебор объектов, расположенных в каталоге
      Получение информации об операционной системе

Работа с MySQL
      Установка драйвера
      Регистрация драйвера и подключение к базе данных
      Создание таблицы
      Добавление записей
      Обновление и удаление записей
      Получение записей
      Обработка значения NULL
      Получение информации о таблице
      Транзакции

Работа с изображениями
      Получение информации об изображении
      Загрузка изображения из файла
      Сохранение изображения в файл
            Формат JPEG
            Формат PNG
            Формат GIF
      Вспомогательные структуры и интерфейсы
            Структура Point: координаты точки
            Структура Rectangle: прямоугольная область
            Интерфейс image.Image: изображение
            Интерфейс Model: цветовая модель
            Интерфейс Color: цвет в формате RGBA
            Структуры, описывающие цвет в различных форматах
            Преобразование цвета из одного формата в другой
      Создание изображения
            Формат RGBA
            Формат RGBA64
            Формат NRGBA
            Формат NRGBA64
            Формат CMYK
            Формат YCbCr
            Формат NYCbCrA
            Формат Gray
            Формат Gray16
            Формат Alpha
            Формат Alpha16
            Формат Paletted
            Формат Uniform
      Пакет image/draw
            Интерфейс draw.Image: изменяемое изображение
            Интерфейс RGBA64Image: изменяемое изображение
            Интерфейс Drawer
            Интерфейс Quantizer
            Функция Draw()
            Функция DrawMask()

Многопоточные приложения
      Запуск задачи в отдельном потоке
      Ожидание завершения всех потоков
      Синхронизация потоков с помощью мьютексов
      Структура Map: потокобезопасный словарь
      Структура Once: выполнение функции один раз
      Каналы
            Небуфферизированные каналы
            Буфферизированные каналы
            Закрытие канала
            Цикл for...range
            Каналы только для чтения
            Каналы только для записи
            Возврат канала из функции
            Канал в качестве типа данных канала
            Пустая структура в качестве типа данных канала
            Оператор select
            Функция After()
            Функция Tick()
      Прерывание работы потока

Взаимодействие с Интернетом
      Структура URL: URL-адрес
      Тип Values: строка запроса
      Кодирование и декодирование строки запроса
      Структура Userinfo: имя пользователя и пароль
      Пакет path: разбор пути
      Отправка запроса методом GET
      Отправка запроса методом POST
      Отправка файла методом POST
      Отправка запроса методом HEAD
      Структура Response: ответ сервера
      Тип Header: словарь с HTTP-заголовками
      Структура Cookie: cookies
      Структура Client: HTTP-клиент
      Структура Request: HTTP-запрос
      Отправка запроса методом GET с произвольными настройками
      Отправка запроса методом POST с произвольными настройками

Веб-сервер на Go
      Запуск и остановка веб-сервера
      Интерфейс ResponseWriter: ответ веб-сервера
      Маршрутизация
      Функция Handle()
      Функция HandleFunc()
      Перенаправление запроса
      Отправка cookies
      Отправка статических файлов
      Получение данных формы
      Замена специальных символов HTML-эквивалентами
      Шаблоны

Категория: Программы | Просмотров: 4 | Добавил: unicross | Теги: go | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Категории раздела
Списки слов [0]
Списки слов и словари
OCR [0]
Оптическое распознавание символов
UImage [0]
Графическая библиотека для Python
UImage C [0]
Графическая библиотека для Python
Программы [2]
Полезные программы
Прочее [0]
Другие темы
Календарь
«  Ноябрь 2026  »
Пн Вт Ср Чт Пт Сб Вс
      1
2345678
9101112131415
16171819202122
23242526272829
30
Архив записей