Metadata

使用 metadata 來提供有關程式碼的額外資訊。Metadata 註解以字元 @ 開頭,後面接著對編譯時期常數(例如 deprecated)的參考,或對常數建構子的呼叫。

所有 Dart 程式碼都有四個可用的註解:@Deprecated@deprecated@override@pragma。如需使用 @override 的範例,請參閱擴展類別。以下是使用 @Deprecated 註解的範例

dart
class Television {
  /// Use [turnOn] to turn the power on instead.
  @Deprecated('Use turnOn instead')
  void activate() {
    turnOn();
  }

  /// Turns the TV's power on.
  void turnOn() {...}
  // ···
}

如果您不想指定訊息,可以使用 @deprecated。但是,我們建議始終使用 @Deprecated 指定訊息。

您可以定義自己的 metadata 註解。以下是定義接受兩個引數的 @Todo 註解的範例

dart
class Todo {
  final String who;
  final String what;

  const Todo(this.who, this.what);
}

以下是使用該 @Todo 註解的範例

dart
@Todo('Dash', 'Implement this function')
void doSomething() {
  print('Do something');
}

Metadata 可以出現在函式庫、類別、類型定義、類型參數、建構子、工廠函式、函式、欄位、參數或變數宣告之前,以及匯入或匯出指令之前。