Flutter (Dart) 全面解释final和const
在Dart (Flutter) 中,final
和const
都用于声明常量,但它们有一些区别:
final
变量只能被赋值一次,可以是编译时常量,也可以是运行时常量。const
变量是编译时常量,必须在声明时初始化,且不能是null
。
final
final int a = 10; // 运行时常量
final String b;
void main() {
b = 'Hello, World!'; // 只能在main函数中赋值一次
print(a); // 输出10
print(b); // 输出Hello, World!
}
const
const int c = 20; // 编译时常量
const String d = 'Hello, const!';
void main() {
print(c); // 输出20
print(d); // 输出Hello, const!
}
使用场景
- 如果你需要一个在运行时确定的常量,使用
final
。 - 如果你需要一个在编译时就已知的常量,并且你确定这个值不会改变,使用
const
。
注意:final
变量可以是一个非常量变量(非final const),但是在第一次赋值后就不能更改。而const
变量必须在声明时就直接赋值,且值是编译时常量。
评论已关闭