七、Dart 常量

4,233 阅读1分钟

一、什么是常量

常量就是在运行期间不会被改变的数据,比如说有个存储单元这一秒存的数是 1,永远不可能会被改成 2;

二、如何定义常量

定义常量有两种方式,一种是用 final, 另一种是用 const,

(一)用 final 定义常量

final 数据类型 常量名 = 值;

/**
 * 常量
 */
void main() {
  // final 定义常量
  final int age = 18;
}

数据类型也可以省略

/**
 * 常量
 */
void main() {
  // final 定义常量
  final age = 18;
}

赋值后就不能改了,尝试修改会有警告,

截图

强行运行就会报错;

截图

(二)用 const 定义常量

const 数据类型 常量名 = 值;

/**
 * 常量
 */
void main() {
  // const 定义常量
  const String name = 'xiaoming';
}

const 的数据类型也是可以省略的,

/**
 * 常量
 */
void main() {
  // const 定义常量
  const name = 'xiaoming';
}

同样 const 常量赋值后就不能改了,

截图

运行也是会报错的,

截图

(三)final 和 const 的区别

看起来 final 和 const 是差不多的,其实是有区别的,final 可以不用先赋值,const 声明时必须赋值,不然会报错,

final 的 nickname 声明时没赋值不会报错

截图

const 的 nickname 声明时没赋值直接红线报错了

截图