目錄

always_specify_types

指定類型註解。

此規則自 Dart 2.0 起可用。

此規則提供快速修正

不相容規則:avoid_types_on_closure_parametersomit_local_variable_typesomit_obvious_local_variable_typesomit_obvious_property_types

詳細資訊

#

來自flutter 儲存庫的風格指南

應該指定類型註解。

當指定類型未知時,避免使用 var 以及省略類型註解的速記寫法。如果要明確表示類型未知,請使用 dynamic。如果要明確表示想要一個實作 ==hashCode 的物件,請使用 Object

不良範例

dart
var foo = 10;
final bar = Bar();
const quux = 20;

良好範例

dart
int foo = 10;
final Bar bar = Bar();
String baz = 'hello';
const int quux = 20;

注意:在 meta 套件中使用 @optionalTypeArgs 註解,API 作者可以針對類型需要是動態的,但其宣告應視為選擇性的類型參數進行特殊處理。例如,假設您有一個 Key 物件,其類型參數您希望視為選擇性。使用 @optionalTypeArgs 看起來會像這樣

dart
import 'package:meta/meta.dart';

@optionalTypeArgs
class Key<T> {
 ...
}

void main() {
  Key s = Key(); // OK!
}

用法

#

若要啟用 always_specify_types 規則,請在您的analysis_options.yaml 檔案中,於 linter > rules 下新增 always_specify_types

analysis_options.yaml
yaml
linter:
  rules:
    - always_specify_types