var
关键字来声明一个变量在 Dart 中,你可以使用 var
关键字来声明一个变量:
void main() {
// 类型推断为 String
var name = 'Dart';
print(name);
}
Dart 也支持类型注解,允许你明确变量的类型:
void main() {
// 明确指定类型为 String
String language = 'Dart';
print(language);
}
Dart 中有两种类型的常量:final
和 const
。
final
:当你不想更改一个变量的值,可以使用 final
, final
变量只能赋值一次void main() {
final cityName;
cityName = 'New York';
print(cityName);
}
const
:用于定义编译时常量void main() {
const PI = 3.14;
print(PI);
}
const
变量不仅是 final
的,它们的值在编译时就已确定(不然编译器会报错,The constant 'PI' must be initialized.)void main() {
const PI;
// The constant 'PI' must be initialized.
PI = 3.1415926;
print(PI);
}
let
关键字来声明一个变量,这是推荐的方式,因为它具有块级作用域var
,但它具有函数级作用域,不太推荐使用// 使用 let 定义变量
let name = 'JavaScript';
// 使用 var 定义变量(不推荐)
var language = 'JavaScript';
const
关键字用于声明一个常量,这意味着一旦赋值,其值不能被改变const PI = 3.14;
补充一个知识点,在 Dart 中可以通过
.runtimeType
获取变量的类型,而在 JavaScript 中可以通过typeof
获取变量的类型
在 Dart 中,final
和 const
都用于定义不可变的变量,但它们的使用场景和含义有所不同:
final
用于声明一个只能被赋值一次的变量final
变量的值在第一次使用时被确定final
变量可以是运行时常量,值可以在运行时被确定适合用于那些在运行时才能确定值的场景,如从网络获取数据或用户输入。
const
用于定义编译时的常量const
变量的值必须在编译时就确定const
变量不仅是最终变量,值在编译时就已固定适合用于那些值不会改变且在编译时就能确定的常量,如数学常数。
使用
final
当你想要定义一个只能赋值一次的变量,其值在运行时被确定 使用const
当你需要一个编译时常量,其值永远不会改变
这两者的选择取决于你是否需要在运行时计算变量的值。对于那些在编译时就能确定并且永远不会改变的值,const
是一个更好的选择。
let
和 var
(推荐使用 let
)声明变量,但不支持类型注解final
和 const
有细微差别:final
用于运行时常量,const
用于编译时常量const
,用于声明一个值不可变的常量我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!
本期结束咱们下次再见👋~
🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。