referenced_before_declaration
區域性變數 '{0}' 不能在其宣告前被引用。
描述
#當變數在其宣告前被引用時,分析器會產生此診斷。在 Dart 中,變數在其宣告的塊中處處可見,但只能在其聲明後被引用。
分析器還會產生一個上下文訊息,指示宣告的位置。
示例
#以下程式碼會產生此診斷,因為 i 在其宣告前就被使用了
dart
void f() {
print(i);
int i = 5;
}常見修復方法
#如果您打算引用該區域性變數,請將其宣告移到第一次引用之前
dart
void f() {
int i = 5;
print(i);
}如果您打算引用外部作用域中的名稱,例如引數、例項欄位或頂層變數,則請重新命名區域性宣告,使其不會隱藏外部變數。
dart
void f(int i) {
print(i);
int x = 5;
print(x);
}