
Language tour 是 Dart 中文文档中的语言概览指南,本页为其中的「变量」章节,系统介绍了 Dart 语言中变量的声明、初始化与修饰方式。Dart 要求以健全的空安全方式编写代码,变量会保存引用,其类型可被推断或显式指定(如 var、Object、String)。
var name = 'Bob'; 声明局部变量,类型被推断为 String;也可显式声明类型(String name = 'Bob';)或指定为 Object / dynamic 以支持多类型。toString()、hashCode 等例外)。? 表示可空(如 String? name),非可空类型必须初始化。null;非可空变量使用前必须赋值。null;顶级变量和类变量延迟初始化(首次使用时初始化)。late 修饰符声明非空但不立即初始化的变量,或延迟执行高开销初始化(如 late String temperature = readThermometer();)。final 变量只能赋值一次;const 为编译时常量(隐式 final),类级别需 static const。const 可创建常量值、常量构造函数,支持类型检查、集合 if 和展开操作符;const 对象及其字段不可变。_ 声明不作为可用变量的局部占位符,可用于局部变量、for 循环、catch 子句、泛型参数、函数参数等,同一作用域可多次声明而不冲突。var、final、const、late 及通配符 _ 的正确用法。late 修饰符避免运行时空解引用错误,提升代码健壮性。