跳至主要內容

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 可以出現在 library、class、typedef、類型參數、建構子、factory、函式、欄位、參數或變數宣告之前,以及 import 或 export 指令之前。