Синтаксис и пунктуация в Dart
О чём эта статья
Dart выглядит как Java или C#, но есть свои привычки: точка с запятой в конце строки не обязательна, строки в "...", многострочные литералы ''' ... ''', стрелка => для коротких функций и trailing comma в списках аргументов (удобно в Flutter). Здесь — знаки препинания и мелкие правила, из‑за которых чаще всего «не компилируется».
Дальше: типы и null safety → управление.
Общие принципы
- Блоки кода — в фигурных скобках
{ }. - Имена:
lowerCamelCaseдля переменных и методов,UpperCamelCaseдля типов. - Файлы:
snake_case.dart. - Официальный стиль — Effective Dart; в проекте часто подключают
dart formatи анализаторdart analyze.
Кавычки и строки
Двойные кавычки "
Основной способ задать String. Интерполяция: "Привет, $name" или "Сумма: ${a + b}".
final name = 'Dart';
print("Hello, $name");
Одинарные кавычки '
Тоже строка; удобно, когда внутри много ":
print('Он сказал: "привет"');
Тройные кавычки ''' / """
Многострочный текст без \n:
final text = '''
Строка 1
Строка 2
''';
Raw-строки r"..."
Обратный слэш не экранирует: r"C:\Users\name".
Точка с запятой
В Dart 3 ; в конце строки опциональна, если парсер однозначно понимает границу оператора. В команде обычно всё равно придерживаются одного стиля в файле — dart format расставит согласованно.
void main() {
print('ok') // без ; — допустимо
}
Фигурные скобки и тело функции
int add(int a, int b) {
return a + b;
}
// Одно выражение — стрелка =>
int double(int x) => x * 2;
У классов методы и поля тоже в { }; улучшенные enum и switch expression используют те же скобки — см. паттерны Dart 3.
Запятая в конце (trailing comma)
После последнего аргумента или элемента списка запятую можно оставить — форматтер разнесёт аргументы по строкам (важно для виджетов Flutter):
Widget build(BuildContext context) {
return Column(
children: [
Text('A'),
Text('B'),
], // trailing comma
);
}
Комментарии
// однострочный
/* блочный
на несколько строк */
/// документация к классу или функции (для dart doc)
Операторы, которые часто путают
| Оператор | Назначение |
|---|---|
?? | Значение по умолчанию, если слева null |
??= | Присвоить, только если переменная null |
?. | Вызов только если не null |
! | Утверждение «здесь точно не null» (осторожно) |
~/ | Целочисленное деление |
.. | Каскад: несколько вызовов к одному объекту |
Подробнее о null safety — в типах.
Импорт и библиотеки
import 'dart:io'; // SDK
import 'package:http/http.dart' as http; // из pubspec
Точка входа пакета — lib/, исполняемый консольный код — часто bin/ (первая программа).
Что запомнить
- Строки —
"или', интерполяция —$и${}. =>— короткая функция;{ }— полное тело.- Null-aware операторы — основа безопасного Dart 3.
- Стиль выравнивает
dart format— не спорьте с ним вручную по каждой запятой.
Следующий шаг: типы данных и null safety.
См. также
Другие статьи этого же раздела в боковом меню (как на странице «О разделе»). История Dart - возникновение языка в Google и его развитие как основы для Flutter-экосистемы. Инкапсуляция через _, late, конструкторы, factory, const, абстрактные классы, миксины и интерфейсы в Dart. Простые приложения на Dart — CLI, файлы, JSON и минимальный HTTP на dart:io. Основы Dart - точка входа `main`, базовый синтаксис и старт построения приложений на языке. Runtime Dart — система типов, isolates, event loop, JIT/AOT, сборка мусора, SDK и связка с Flutter. Flutter - экосистема Dart для кроссплатформенной UI-разработки, сборки и тестирования приложений. Типизация, набор правил определения типа данных значений языка. Условия, циклы, switch, арифметика, логика и null-aware операторы Dart — с примерами для Dart 3. Функция — это именованный фрагмент кода, который принимает входные данные, выполняет определённую последовательность действий и может возвращать результат. Гайд по установке и настройке с написанием первой программы и её запуском. Switch expressions, сопоставление с образцом для record, списков, Map и sealed-типов — исчерпывающий разбор вариантов в Dart 3. Консольный ввод-вывод, работа с файлами, JSON и базовый HTTP-клиент и сервер через dart:io — Dart вне Flutter.История языка Dart
Классы и ООП в Dart
Простые приложения на Dart
Основы языка Dart
Архитектура платформы Dart
Flutter
Типы данных и безопасность типов
Управляющие конструкции и операторы Dart
Функции и асинхронность
Первая программа на Dart
Паттерны и switch в Dart 3
Консоль, файлы и HTTP в Dart