gpt4 book ai didi

dart - 可以在dart中使用const将最终实例变量重新分配给其他值

转载 作者:行者123 更新时间:2023-12-03 03:26:27 26 4
gpt4 key购买 nike

有谁知道为什么下面的代码在dart中起作用? final关键字用于定义常量变量。但是下面的代码工作没什么不同。如果我们使用其他值的const,则可以正常工作而不会出错。

void main() {
ExampleFinal exampleFinal = new ExampleFinal();
}

class ExampleFinal() {
final a = 5;
ExampleFinal() {
// The below statement will not create any error.
// But if you are remove const in below line it'll show a compile time error.
const a = 6;
print(a); // Prints 6
}
}

它是 Dart 的错误还是功能?也没有像文档中提到的那样。

最佳答案

const a = 6;

创建一个新的阴影 final a = 5;
这是可能的,因为 {...}在构造函数主体中创建了一个新范围。

如果在构造函数的末尾添加
print(this.a); 

它将打印 5

关于dart - 可以在dart中使用const将最终实例变量重新分配给其他值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53997596/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com