问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Dart中的变量和常量

创作时间:
作者:
@小白创作中心

Dart中的变量和常量

引用
CSDN
1.
https://blog.csdn.net/qq_44993558/article/details/144245437

本文将详细介绍Dart语言中变量和常量的使用方法,包括变量的创建、空安全、延迟初始化变量以及final和const常量的使用等核心概念。

变量

创建变量

var name = 'test1';

var类型可以定义任何类型的对象,Dart会通过你后面赋值的类型给var判断其类型。变量name的类型被推断为String,但你可以通过指定类型来更改它:

String name = 'test1';

空安全

Dart语言要求以健全的空安全方式编写代码。空安全能够防止意外访问null的变量而导致的错误。这样的错误也被称为空解引用错误。访问一个求值为null的表达式的属性或调用方法时,会发生空解引用错误。

空安全引入了三个关键更改:

  1. 当你为变量、参数或另一个相关组件指定类型时,可以控制该类型是否允许null。要让一个变量可以为空,你可以在类型声明的末尾添加?
String? name
  1. 你必须在使用变量之前对其进行初始化。可空变量是默认初始化为null的。Dart不会为非可空类型设置初始值,它强制要求你设置初始值。Dart不允许你观察未初始化的变量。这可以防止你在接收者类型可以为nullnull不支持的相关方法或属性的情况下使用它。

  2. 你不能在可空类型的表达式上访问属性或调用方法。同样的例外情况适用于null支持的属性或方法,例如hashCodetoString()

延迟初始化变量

如果你定义了一个变量,不想立即赋值,想要后续给他赋值,可以使用late修饰符:

  1. 声明一个非空变量,但不在声明时初始化。
  2. 延迟初始化一个变量。

Final 和常量

如果你不打算更改一个变量,可以使用finalconst修饰它,而不是使用var或作为类型附加。一个final变量只能设置一次,const变量是编译时常量。(const常量隐式包含了final。)

定义Final

final String name = 'test';

定义后,值无法被修改。

定义常量

请使用const修饰编译时常量的变量。如果const变量位于类级别,请将其标记为static const(静态常量)。在声明变量的位置,将其值设置为编译时常量,比如数字、字符串、const常量或在常量数字上进行的算术运算的结果:

const bar = 1000000; 
const double atm = 1.01325 * bar; 

const关键字不仅仅可用于声明常量,你还可以使用它来创建常量值(values),以及声明创建(create)常量值的构造函数。任何变量都可以拥有常量值:

var foo = const [];
final bar = const [];
const baz = [];

本文原文来自CSDN

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号