Dart 数据类型
- 数字
- 字符串
- 布尔
- 列表list
- map
数字
Dart有两种数字类型:
- 整数 - 整数值表示非小数值,即没有小数点的数值。 例如,值
10
是整数。整数文字使用 int 关键字表示。 - 浮点型 - Dart也支持小数数值,即带小数点的值。 Dart中的Double数据类型表示64位(双精度)浮点数。例如,值
10.10
。关键字 double 用于表示浮点文字。
字符串
Dart字符串是一系列UTF-16代码单元。 Runs 用于表示UTF-32代码单元序列。关键字 String
用于表示字符串文字。字符串值嵌入单引号或双引号中。
布尔
布尔数据类型表示布尔值true
和false
。Dart使用 bool
关键字表示布尔值。
列表list
一个 列表 是对象的有序组。Dart中的List数据类型与其他编程语言中的数组概念同义。
映射map
映射map数据类型表示一组值作为键-值对。dart:core
库分别使创建和这些集合的操作通过预定义列表和map类。
动态类型
Dart是一种可选类型语言。如果未明确指定变量的类型,则变量的类型是 动态的 。dynamic
关键字也可以用来作为一种类型的注释明确。
声明变量的标准形式
必须在使用变量之前声明变量。Dart使用var
关键字来实现相同的目标,通过在变量名前加上数据类型来支持类型检查 。
var name = "xiaoma";
dart中的所有变量都存储对该值的引用,而不是包含该值。名为name
的变量包含对String对象的引用,其值为 "xiaoma"
。
void main (){ int age; print(age);}//null
所有未初始化的变量的初始值为null
。这是因为Dart将所有值都视为对象。以下示例说明了相同的情况
dynamic 关键字
声明没有静态类型的变量被隐式声明为动态。也可以使用dynamic
关键字代替var
关键字声明变量。
void main(){ dynamic x = "xiaoma"; print(x);}//xiaoma
final和const
使用final
和const
关键字来声明常量。Dart阻止修改使用final
或const
关键字声明变量的值。这些关键字可以与变量的数据类型一起使用,也可以与 var
关键字一起使用。
const
关键字用来表示一个编译时常数。使用const
关键字声明的变量是隐式final
的。
void main(){ //final声明常量 final name = "xiaoma"; print(name); //const声明常量 const pi = 3.14; const area = pi*12*12; print(area);}/*xiaoma452.15999999999997*/
注:只有 const
变量可用于计算编译时常量。编译时常量是常量,其值将在编译时确定。
如果尝试修改使用final
和const
关键字声明的变量,dart
会抛出异常。
void mian(){ final lastname = "Lee"; const firstname = "Karming"; //不能更改 lastname = "Li";}/*error: 'lastname', a final variable, can only be set once. (assignment_to_final_local at main.dart:4)info: The value of the local variable 'lastname' isn't used. (unused_local_variable at main.dart:2)info: The value of the local variable 'firstname' isn't used. (unused_local_variable at main.dart:3)*/
注:对于想要在编译时确定并且不再变的变量,使用const。如果const变量位于类级别,则将其标记为静态const。
const关键字不只是声明常量变量。还可以使用它来创建常量值,以及声明创建常量值的构造函数。任何变量都可以赋一个常量值。