我在 dart 中看到很多@
类似 @package_name 或 @somthing 的符号实例。虽然我知道一些示例的用法,例如@override
,但我无法理解为什么某些包(例如@freezed
:)或 dart 语法(例如:@immutable
,@lazySingleton
)使用此运算符以及它的功能是什么。
问问题
160 次
2 回答
4
这是关于它的元数据:dart language-tour
于 2020-06-05T13:15:26.553 回答
1
正如 Kherel 提到的,@ 符号用于元数据。它可以帮助开发人员跟踪某些功能以备将来使用。
如果需要,您可以使用“dart:mirrors”库将该元数据用于编程目的。
例如,flutter 使用 @override 来确保允许子类的特定行为,与父类分开。
最常见的用法是以某种方式对函数和类进行分类以便于访问。IDE 还可以跟踪某些元数据,以警告您函数的运行方式(例如,通过@TODO 或@deprecated)。
于 2021-03-15T17:09:10.297 回答