在app文件夹中有一个名为constants.dart
的文件。
一个常量的例子是
const String name = "Daniel";
我希望能够通过输入Constant.name
来使用文件中的const变量。
创建一个名为Constant
的类与使用公共静态变量或通过使用as constant;
导入我的常量文件有什么区别?
有第三种选择吗?
如果它是一个utils文件,我有没有副作用的方法怎么办?
谢谢!
官方推荐的样式是使用顶级常量,而不是包含它们的类。
允许用户导入任何前缀(不只是Constant
),甚至不带前缀,如果他们真的想。
使用类作为容器是任意的。您可以使用class
、mixin
或extension
声明来声明常量。这三种方法都在原来的基础上引入了静态名称空间,如果您只关心静态名称空间,那么可以使用其中任何一种。
老实说,如果我真正想要的只是一个名称空间,我可能会这样做:
// Namespace containing utility functions!
extension MyConstants on Never {
static int foo() => 42;
static const int = 10;
}
而不使用类。这样,它就不会引入一个永远不会用于任何地方的类型。
或者,我真的会按照样式指南做顶层声明。