如果你不想更改变量的值,那么你可以用 final 和 const:
final content = 'Dart 语法';
static const bool switchOn = false;
需要注意的点
-
使用
final和const的时候可以把var省略,但并不是final和const也是基本的声明变量类型。 -
final和const变量只能赋值一次,而且必须在声明的时候就赋值
⚠️
在定义const常量时,你必须直接赋一个字面量,而不能是一个变量或者公式;
在定义final常量时,如何赋值就无所谓了,但赋值后就不能再改了。 -
const是隐式的final -
在使用
const的时候,如果变量是类里的变量,必须加static,是全局变量时不需要加,例如:
import 'package:flutter/material.dart';
const demoConst = 'demo'; // 这里不用加 static
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
static const content = 'Dart 语法'; // 这里必须加 static
...
}
疑问:final 和 const 有什么区别呢?
const 是编译时常量,在编译的时候就初始化了,但是 final 变量是运行时才初始化。









网友评论