gpt4 book ai didi

flutter - 在任何类 : why is it possible 之外声明变量

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

我有一个文件 fancy_button.dart 用于自定义 Flutter 小部件 FancyButton,如下所示:

class FancyButton extends StatefulWidget {
// ...
}

class _FancyButtonState extends State<FancyButton> {
// ...
}

// Declaration outside any class:

Map<_FancyButtonState, Color> _buttonColors = {};

final _random = Random();

int next(int min, int max) => min + _random.nextInt(max - min);

// ...

该应用程序运行良好。请注意,我在任何类之外声明并使用了一些变量。现在我的问题是:这怎么可能? Dart 中的所有内容不应该都在一个类中,比如 Java 吗?

最佳答案

不,Dart 支持在全局空间中定义的变量和函数。您可以通过在任何类之外声明的 main() 方法看到这一点。

此外,全局变量(和静态类变量)是惰性求值的,因此在您尝试使用它们时首先定义值。因此,即使有一堆未使用的全局变量,您的运行时也不会变慢。

关于flutter - 在任何类 : why is it possible 之外声明变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61543560/

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