乐趣区

Dart-学习笔记数据类型

Dart 数据类型

  • 数字
  • 字符串
  • 布尔
  • 列表 list
  • map

数字

Dart 有两种数字类型:

  • 整数 – 整数值表示非小数值,即没有小数点的数值。例如,值10 是整数。整数文字使用 int 关键字表示。
  • 浮点型 – Dart 也支持小数数值,即带小数点的值。Dart 中的 Double 数据类型表示 64 位(双精度) 浮点数。例如,值10.10。关键字 double 用于表示浮点文字。

字符串

Dart 字符串是一系列 UTF-16 代码单元。Runs 用于表示 UTF-32 代码单元序列。关键字 String 用于表示字符串文字。字符串值嵌入单引号或双引号中。

布尔

布尔数据类型表示布尔值 truefalse。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

使用 finalconst关键字来声明常量。Dart 阻止修改使用 finalconst关键字声明变量的值。这些关键字可以与变量的数据类型一起使用,也可以与 var 关键字一起使用。

const关键字用来表示一个编译时常数。使用 const 关键字声明的变量是隐式 final 的。

void main(){
  //final 声明常量
  final name = "xiaoma";
  print(name);
  //const 声明常量
  const pi = 3.14;
  const area = pi*12*12;
  print(area);
}

/*
xiaoma
452.15999999999997
*/

注:只有 const 变量可用于计算编译时常量。编译时常量是常量,其值将在编译时确定

如果尝试修改使用 finalconst关键字声明的变量,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 关键字不只是声明常量变量。还可以使用它来创建常量值,以及声明创建常量值的构造函数。任何变量都可以赋一个常量值。

退出移动版