Перейти к основному содержимому

Синтаксис и пунктуация в 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/ (первая программа).


Что запомнить

  1. Строки — " или ', интерполяция — $ и ${}.
  2. => — короткая функция; { } — полное тело.
  3. Null-aware операторы — основа безопасного Dart 3.
  4. Стиль выравнивает dart format — не спорьте с ним вручную по каждой запятой.

Следующий шаг: типы данных и null safety.


См. также

Другие статьи этого же раздела в боковом меню (как на странице «О разделе»).