Skip to content

变量

重要概念

  1. 所有变量(数字、函数、null等)引入都是对象,每个对象都是一个的实例,所有类都继承于 object

  2. 强类型语言,但变量声明时的类型是可选的,因为 Dart 可以进行类型推断

  3. 没有 public、protected、private 等成员访问限定符。但变量以 _ 开头,表示其在库内是私有

变量声明

  1. 使用 var const 声明,dart 会进行类型推断

    dart
    var name = 'musi'; // 名为 name 的变量存储了一个 String 类型对象的引用,'musi' 则是该对象的值
  2. 也可以指定类型

    dart
    String name = 'musi';
  3. 如果不局限于单一类型,可以将其定义为 Object(或 dynamic)类型

    dart
    Object name = 'musi';
    name = 1;
  4. 在声明的时候使用 ? ,则变量可以为指定类型,也可以为 null

    dart
    int? num = null;
    num = 1;
  5. 创建一个不可更改的变量,则可以使用 finalconst

    • 实例变量(类的成员)可以是 final,但不可以是 const
    • const 除了可以用于定义常量,还可以用来创建常量值
    dart
    final name1 = 'musi';
    const name2 = 'kingmusi';
    
    final String name3 = 'musi';
    cosnt String name4 = 'kingmusi';
    dart
    // 常量值
    var foo = const [];
    foo = 1; // Error

判断变量类型

使用 is 关键字

dart
assert(1 is int); // true