Документация
Справочник по языку: каждая тема отдельно, с примерами кода. Если вы только начинаете, откройте «Уроки».
Основы
Первая программаУстановка, запуск и сборка вашей первой программыДва способа записиНовый синтаксис без скобок и конвертер старого кодаОсновы синтаксисаКомментарии, операторы, блоки и слово «конец»Типы данныхЦелые, дробные, текст, верно: размеры и преобразованияПеременныеОбъявление, вывод типа, неизменяемые значения, подстановка в строкахОператорыАрифметика, сравнения, логика и приоритетыУправляющие конструкцииесли, пока, для каждого, прервать и продолжитьФункцииПараметры, возврат значений, рекурсияМассивыМассивы фиксированного размера и их литералы
Данные и типы
СтруктурыСвои типы данных, поля и методыОбработка ошибокрезультат из T, успех и ошибка: ошибки без исключенийОпциональный типЗначение, которого может не бытьОбобщённые типыСписок, Словарь и свои обобщённые структуры и функцииКонтракты и полиморфизмИнтерфейсы и разные объекты за одним контрактом
Память и потоки
Многопоточностьпараллельно, каналы и безопасная передача данныхУправление памятьюКак работает подсчёт ссылок и когда память освобождать вручнуюДетерминированностьПовторяемый порядок выполнения потоков
Модули и пакеты
МодулиКак разбить программу на файлыПакетный менеджерУстановка и публикация пакетовВнешние функцииВызов функций из C и системных библиотек
Сеть и данные
Работа с сетьюTCP-сокеты, клиенты и серверыВеб-серверСвой HTTP-сервер: маршруты, файлы, загрузка, cookieMarkdown в HTMLПревращение Markdown в страницы сайтаРабота с базой данныхSQLite из программы на СфереСобственное хранилище данныхХранилище без внешних зависимостейФайлы: удаление и папкиСоздание папок, переименование и удаление
Инструменты
ОтладчикПошаговая отладка через lldb и gdbКомпиляция под другую архитектуру процессораСборка под Android и другие процессорыГрафика и UIОкна, рисование и интерфейсыОтслеживание: логи, метрики, трейсинг, профилировщикЛоги, метрики, трейсинг и профилировщик