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

你可能感兴趣的:(flutter,dart)