Dart编程变量 Dart编程数据类型 Dart编程运算符 变量是“存储器中的命名空间”,用于存储值。换句话说,它作为程序中值的容器。变量名称称为标识符。以下是标识符的命名规则 - 标识符不能是关键字。 标识符可以包含字母和数字。 标识符不能包含空格和特殊字符,但下划线(_)和美元($)符号除外。 变量名称不能以数字开头。 类型语法 必须在使用变量之前声明变量。Dart使用var关键字来实现相同的目标。声明变量的语法如下所示 var name = 'Smith'; dart中的所有变量都存储对该值的引用,而不是包含该值。名为name的变量包含对String对象的引用,其值为 "Smith"。 Dart 通过在变量名前加上数据类型来支持 类型检查 。类型检查可确保变量仅包含特定于数据类型的数据。下面给出了相同的语法 String name = 'Smith'; int num = 10; 考虑以下示例 void main() { String name = 1; } 上面的代码段将导致警告,因为分配给变量的值与变量的数据类型不匹配。 输出 Warning: A value of type 'String' cannot be assigned to a variable of type 'int' 所有未初始化的变量的初始值为null。这是因为Dart将所有值都视为对象。以下示例说明了相同的情况 void main() { int num; print(num); } 输出 Null dynamic关键字 声明没有静态类型的变量被隐式声明为动态。也可以使用dynamic关键字代替var关键字声明变量。 以下示例说明了相同的内容。 void main() { dynamic x = "tom"; print(x); } 输出 tom final和const 使用final和const关键字来声明常量。Dart阻止修改使用final或const关键字声明变量的值。这些关键字可以与变量的数据类型一起使用,也可以与 var 关键字一起使用。 const关键字用来表示一个编译时常数。使用const关键字声明的变量是隐式final的。 语法:final关键字 final variable_name 或者 final data_type variable_name 语法:const关键字 const variable_name 或者 const data_type variable_name 示例 - final关键字 void main() { final val1 = 12; print(val1); } 输出 12 示例 - const关键字 void main() { const pi = 3.14; const area = pi*12*12; print("The output is ${area}"); } 上面的例子使用 const 关键字声明了两个常量 pi 和 area 。该 区域 变量的值是一个编译时常数。 输出 The output is 452.15999999999997 注 - 只有 const 变量可用于计算编译时常量。编译时常量是常量,其值将在编译时确定 实例 如果尝试修改使用 final 或 const 关键字声明的变量,Dart会抛出异常。下面给出例子来说明: void main() { final v1 = 12; const v2 = 13; v2 = 12; } 上面给出的代码将抛出以下错误作为输出 Unhandled exception: cannot assign to final variable 'v2='. NoSuchMethodError: cannot assign to final variable 'v2=' #0 NoSuchMethodError._throwNew (dart:core-patch/errors_patch.dart:178) #1 main (file: Test.dart:5:3) #2 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:261) #3 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148) static final const的区别请访问博客文章:Dart中 static final const的区别 Dart编程数据类型 Dart编程运算符