将 Dart 枚举放入 Class 或包导出文件

Putting Dart Enum in Class or Package Export File

我正在考虑是否将枚举(将在多个 类 和我的 src 文件夹中的文件中引用)放入我的 src 目录中的一个文件中或位于 lib 文件夹下的导出文件中。我想公开枚举,但我也不希望用户导入入口文件以外的文件。在这种情况下,将枚举放在入口文件中有意义吗?我的目录结构如下所示:

lib/
  entrance.dart <- Would here be ok?
  src/
     packages and files <- Or Does it have to be here?

你可以做任何一个。

如果您在 src/ 下的文件中声明枚举,例如 src/enum.dart,您可以使用 export "src/enum.dart";entrance.dart 导出它。 src/ 中枚举的其他用户只需要 import "enum.dart";.

如果您在 entrance.dart 中声明枚举,则不必费心导出它,但是 src/ 中使用枚举的所有文件都需要 import "../entrance.dart";(也许使用 show 子句以避免导出所有其他内容)。

我个人会选择前一种方法,但两者都可以。