Компьютерная литература
  • формат pdf
  • размер 2,22 МБ
  • добавлен 1 апреля 2015 г.
Саммерфильд М. Программирование на языке Go. Разработка приложений XXI века
М.: ДМК Пресс, 2013.—582 с.—ISBN: 978-5-94074-854-0
На сегодняшний день Go – самый впечатляющий из новых языков программирования. Изначально он создавался для того, чтобы помочь задействовать всю мощь современных многоядерных процессоров. В этом руководстве Марк Саммерфильд, один из основоположников программирования на языке Go, показывает, как писать программы, в полной мере использующие его революционные возможности и идиомы. Данная книга представляет собой одновременно и учебник, и справочник, сводя воедино все знания, необходимые для того, чтобы продолжать освоение Go, думать на Go и писать на нем высокопроизводительные программы. Автор приводит множество сравнений идиом программирования, демонстрируя преимущества Go перед более старыми языками и уделяя особое внимание ключевым инновациям. Попутно, начиная с самых основ, Марк Саммерфильд разъясняет все аспекты параллельного программирования на языке Go с применением каналов и без использования блокировок, а также показывает гибкость и необычность подхода к объектно-ориентированному программированию с применением механизма динамической типизации. Издание предназначено для программистов разной квалификации, желающих освоить и применять в своей практике язык Go.
Введение
Зачем изучать язык Go?
Структура книги
Благодарности
Обзор в пяти примерах
Начало.
Правка, компиляция и запуск
Hello кто?
Большие цифры - двумерные срезы
Стек - пользовательские типы данных с методами
Американизация - файлы, отображения и замыкания
Из полярных координат в декартовы параллельное программирование
Упражнение
Логические значения и числа
Начальные сведения
Константы и переменные
Логические значения и выражения
Числовые типы
Целочисленные типы
Вещественные типы
Пример: statistics
Реализация простых статистических функций
Реализация простого HTTP-сервера
Упражнения
Строки
Литералы, операторы и экранированные
последовательности
Сравнение строк
Символы и строки
Индексирование и получение срезов строк
Форматирование строк с помощью пакета fmt
Форматирование логических значений
Форматирование целочисленных значений
Форматирование символов
Форматирование вещественных значений
Форматирование строк и срезов
Форматирование для отладки
Другие пакеты для работы со строками
Пакет strings
Пакет utf8
Пакет unicode
Пакет regexp
Пример: m3u2pls
Упражнения
Типы коллекций
Значения, указатели и ссылочные типы
Массивы и срезы
Индексирование срезов и извлечение
срезов из срезов
Итерации по срезам
Изменение срезов
Сортировка и поиск по срезам
Отображения
Создание и заполнение отображений
Поиск в отображениях
Изменение отображений
Итерации по отображениям
с упорядоченными ключами
Инвертирование отображений
Примеры
Пример: угадай разделитель
Пример: частота встречаемости слов
Упражнения
Процедурное программирование
Введение в инструкции
Преобразование типа
Приведение типов
Ветвление
Инструкция if
Инструкция switch
Инструкция цикла for
Инструкции организации взаимодействий
и параллельного выполнения
Инструкция select
Инструкция defer и функции panic() и recover()
Функции panic() и recover()
Пользовательские функции
Аргументы функций
Функции init() и main()
Замыкания
Рекурсивные функции
Выбор функции во время выполнения
Обобщенные функции
Функции высшего порядка
Пример: сортировка с учетом отступов
Упражнения
Объектно-ориентированное программирование
Ключевые понятия
Пользовательские типы
Добавление методов
Типы с проверкой
Интерфейсы
Встраивание интерфейсов
Структуры
Структуры: агрегирование и встраивание
Примеры
Пример: FuzzyBool - пользовательский тип
с единственным значением
Пример: фигуры - семейство пользовательских типов
Пример: упорядоченное отображение обобщенный тип коллекций
Упражнения.
Параллельное программирование
Ключевые понятия
Примеры
Пример: фильтр
Пример: параллельный поиск
Пример: поточно-ориентированное отображение
Пример: отчет о работе веб-сервера
Пример: поиск дубликатов
Упражнения
Обработка файлов
Файлы с пользовательскими данными
Обработка файлов в формате JSON
Обработка файлов в формате XML
Обработка простых текстовых файлов
Обработка файлов в двоичном формате Go
Обработка файлов в пользовательском двоичном формате
Архивные файлы
Создание zip-архивов
Создание тарболлов
Распаковывание zip-архивов
Распаковывание тарболлов
Упражнения
Пакеты
Пользовательские пакеты
Создание пользовательских пакетов
Импортирование пакетов
Сторонние пакеты
Краткий обзор команд компилятора Go
Краткий обзор стандартной библиотеки языка Go
Пакеты для работы с архивами
и сжатыми файлами
Пакеты для работы с байтами и строками
Пакеты для работы с коллекциями
Пакеты для работы с файлами и ресурсами
операционной системы
Пакеты для работы с графикой
Математические пакеты
Различные пакеты
Пакеты для работы с сетью
Упражнения
Эпилог
Опасность патентов на программное обеспечение
Список литературы
Предметный указатель
Возможность скачивания данного файла заблокирована по требованию правообладателя.