# 5.常量声明

  • final
  • const修饰符

const值不变, 一开始就得赋值

final 可以开始不赋值, 只能赋一次; 而final不仅由const的编译时常量的特性, 最重要的它是运行时永远不改变的量, 请使用final或const修饰它, 而不是使用var或其他变量类型

  final a = new DataTime.now()
  print(a)

  const a = new DataTime.now() // 报错
1
2
3
4

区别: final 可以开始不赋值, 只能赋一次; 而final不仅由const的编译时常量的特性, 最重要的它是运行时常量, 并且final是惰性初始化, 即在运行时第一次使用才初始化

const 只能赋值字面量, 而final可以赋值函数返回值, 变量, 以及字面量

上次更新: 2021/2/21 下午7:52:17