【发布时间】:2020-09-24 16:50:27
【问题描述】:
我在 dart 中看到很多 @ 符号实例,例如 @package_name 或 @somthing。虽然我知道@override 之类的示例的用法,但我不明白为什么某些包(例如:@freezed)或 dart 语法(例如:@immutable,@lazySingleton)使用此运算符以及它的功能是什么.
【问题讨论】:
标签: flutter dart syntax operators at-sign
我在 dart 中看到很多 @ 符号实例,例如 @package_name 或 @somthing。虽然我知道@override 之类的示例的用法,但我不明白为什么某些包(例如:@freezed)或 dart 语法(例如:@immutable,@lazySingleton)使用此运算符以及它的功能是什么.
【问题讨论】:
标签: flutter dart syntax operators at-sign
正如 Kherel 提到的,@ 符号用于元数据。它可以帮助开发人员跟踪某些功能以备将来使用。
如果需要,您可以使用“dart:mirrors”库将该元数据用于编程目的。
例如,flutter 使用 @override 来确保允许子类的特定行为与父类分开。
最常见的用法是以某种方式对函数和类进行分类以便于访问。 IDE 还可以跟踪某些元数据,以警告您函数的运行方式(例如,通过 @TODO 或 @deprecated)。
【讨论】:
这里有关于它的元数据:dart language-tour
【讨论】: