我知道如何在類中命名變數,但它與函式有何關系?我注意到一些開發人員在函式中使用 final 關鍵字來表示永遠不會改變的變數,但其他開發人員甚至在其中使用 var。
以下哪個例子最好?我的意思是在干凈的代碼和速度方面
doSomething() {
final int i = 1;
print(i.toString());
}
doSomething() {
final i = 1;
print(i.toString());
}
doSomething() {
int i = 1;
print(i.toString());
}
doSomething() {
var i = 1;
print(i.toString());
}
uj5u.com熱心網友回復:
根據 Dart 官方檔案,使用finalvsvar是個人喜好問題;重要的是要保持一致。根據這個答案,大多數編譯器會注意到,無論您是否將變數設為最終變數,它都不會被重新分配。同一個檔案鏈接說,大多數變數不應該顯式分配資料型別,只是關鍵字finalor var。我個人不同意因為不小心重新鍵入變數的糟糕經歷,但這是官方建議。
如果將變數設定為 final,則編譯器會將其狀態強制為只讀。linter 建議您始終使用final未重新分配的變數。
uj5u.com熱心網友回復:
我應該使用var還是鍵入注釋,例如int?
這是我的方法:
在 Dart 中,var關鍵字用于宣告變數。Dart 編譯器根據分配的變數自動知道資料的型別,因為 Dart 是一種推斷型別語言。
因此,如果您之前知道型別,則可以使用var,因為 Dart 可以自動為您推斷型別。例如:
var name = 'Andrew'
但是,如果您之前不知道型別,則可以使用型別注釋:
int age;
...
age = 5;
- 有關更多解釋,您可以在“如何在 Dart 中宣告變數”部分查看https://www.javatpoint.com/dart-variable ,他們更詳細地解釋了您問題的答案,(我已經使用他們的例子)
uj5u.com熱心網友回復:
對于不變的值,最好使用 final。
如果不確定,請使用 linter。
dart pub add lints- 官方棉絨
#analysis_options.yaml
include: package:lints/recommended.yaml
dart pub add zekfad_lints- 我喜歡使用的棉絨
#analysis_options.yaml
include: package:zekfad_lints/untyped/dart.yaml
# If you are using flutter
#include: package:zekfad_lints/untyped/flutter.yaml
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/535026.html
標籤:扑镖
下一篇:如何更改堆疊中的顯示順序
