Популярное
Рейтинг считается по просмотрам, лайкам и комментариям за выбранный период.
Глава 9. Конкурентность: горутины и каналы
Конкурентность в Go: горутины, каналы (буферизованные и небуферизованные), направленные каналы, select, закрытие и range по каналу, sync.WaitGroup и sync.Mutex, гонки данных и детектор -race, паттерн worker pool.
Глава 6. Массивы, слайсы и карты
Коллекции в Go: массивы фиксированной длины, слайсы (len/cap/append/copy/срезы и их внутреннее устройство), make, карты (создание, чтение, удаление, comma-ok) и современные пакеты slices/maps плюс встроенные min/max/clear из Go 1.21.
Глава 1. Что такое TypeScript и как его установить
Знакомство с TypeScript: чем он отличается от JavaScript, зачем нужна статическая типизация, установка компилятора, создание первого проекта и типичный рабочий процесс.
Глава 4. Функции
Функции в Go: объявление и параметры, множественный и именованный возврат, variadic-параметры, функции как значения, анонимные функции и замыкания, defer, рекурсия и callback-и. Разбираем, зачем каждый механизм нужен на практике.
Глава 3. Управляющие конструкции: for, if, switch
Изучаем единственный цикл Go for во всех его формах, перебор range, новинку for i := range n из Go 1.22, ветвления if/else с init-выражением и switch с несколькими вариантами, fallthrough …
Глава 7. Структуры и методы
Как в Go описывать составные данные: объявление struct, поля и их инициализация, анонимные структуры, методы, value- и pointer-receiver, встраивание вместо наследования, теги полей и сериализация в JSON.
Глава 7. Модули, tsconfig и компиляция проекта
Структура проекта, импорт и экспорт модулей, файл tsconfig.json, строгость проверок, флаги компилятора, работа со сторонними библиотеками и декларациями типов.
Глава 5. Указатели и память
Адреса памяти и указатели в Go: оператор &, тип *T, разыменование, передача по значению против передачи через указатель, зачем указатели вообще нужны и как безопасно обращаться с nil. Всё на …
Глава 6. Дженерики (обобщённые типы)
Зачем нужны дженерики, синтаксис обобщённых функций и классов, ограничения (constraints) через extends, дженерики в интерфейсах, утилиты keyof/typeof, типичные паттерны.
Интересные особенности работы со словарями
Пишу про то, с чем непосредственно самому приходилось работать 1)Подсчет элементов в списке: from collections import defaultdict d = defaultdict(int) color_list = ['red','black','red','blue'] for color in color_list: d[color] += 1 …