网站的页面动态需要哪些方法做,南宁网站建设速成培训班,做塑胶网站需要什么材料,外贸单证流程常量
只能被定义一次#xff0c;并且不可修改的值叫做常量。 在 Flutter 中有两种常量修饰方法
finalconst
相同点
类型声明可以省略
final String a 123;
final a 123;const String a 123;
const a 123;初始化后不能再赋值
final a 123;
a abc; // 错误const a …常量
只能被定义一次并且不可修改的值叫做常量。 在 Flutter 中有两种常量修饰方法
finalconst
相同点
类型声明可以省略
final String a 123;
final a 123;const String a 123;
const a 123;初始化后不能再赋值
final a 123;
a abc; // 错误const a 123;
a abc; // 错误不能和 var 同时使用
final var a 123; // 错误
const var a 123; // 错误不同点
确定的值
final dt DateTime.now();
const dt const DateTime.now();final 修饰时间可以是即时时间。即当前值会根据运行时进行变化const 修饰时间必需为确定值即当前值不会根据运行时变化。
不可变可传递
final List ls [11, 22, 33];
ls[1] 44;const List ls [11, 22, 33];
ls[1] 44; // 报错final 修饰数组集合时数组内的值可修改const 修饰数组集合时数组内的值不可修改
内存中重复创建
final a1 [11, 22];
final a2 [11, 22];
print(identical(a1, a2)); // falseconst a1 [11, 22];
const a2 [11, 22];
print(identical(a1, a2)); // trueidentical 通过比较两个引用的是否是同一个对象判断是否相等
使用场景
final 成员变量初始
class PlaceholdWidget extends StatelessWidget {final String? assetImagePath;const PlaceholdWidget({Key? key,this.assetImagePath,}) : super(key: key);overrideWidget build(BuildContext context) {...}
}const 全局参数
// 本地存储key
static const storageFirstOpen first_open;
static const storageLanguageCode language_code;
static const storageThemeCode theme_code;
static const storageToken token;
static const StorageProfile profile;