Dart基本語法
一起從0開始學習Flutter!
雖然我們項目開發使用Android Studio但是在學習Dart的時候無法快速的運行單個dart文件,我又轉戰到了VS Code。也推薦大家可以從VS Code上進行Dart的練習。
- 基本數據類型
在Dart中不存在這個概念,在Dart所有的都是對象,我們原來的int ,double這些基本數據類型在這裏也是對象,只是聲明成了int ,double。跟Java一樣這裏所有的對象最終的父類是Object。
abstract class int extends num
abstract class double extends num
- 聲明變量
- Var
使用var 關鍵字來聲明一個不定類型變量,使用var變量定義的時候也需要我們在聲明變量的時候注意寫法。
如果一開始沒有給var的賦值,那麼變量的類型是可變的,不會出現錯誤,如果一開始給變量就賦值那麼數據類型就定了,後面如果改變類型就會提示錯誤。建議如果沒有特殊要求時給變量確定類型,否則在後面邏輯複雜的情況下不小心變更了數據類型,錯誤很難追查。
var num;
num = "11";
num = 100;
print("num is $num");
var str = "111";
str = 111; //Error: A value of type 'int' can't be assigned to a variable of type 'String'.
print("str is $str");
- Dynamic
如果一定要使用動態數據類型,建議使用dynamic來聲明變量,這樣在我們如果出現錯誤檢查代碼的時候也能發現這是一個可變數據類型的,能夠加以重視。
dynamic dyn = 2;
dyn = "222";
print("dyn data is $dyn");
- 指定類型
我們也可以像所有的強類型語言一樣直接使用要聲明的類型來定義變量。定義實體的變量可以省略掉new關鍵字(一般都是省略掉的)。
String string = "String";
Person person = Person("Flutter");
- final和const
final和const都必須初始化,而且只能賦值一次,多次賦值會報錯"Setter not found",但是final可以使用變量來賦值,const不可以。
var str = "Dart";
final strF = str;
const strC1 = "Dart";
strF = "String";//Setter not found: 'strF'
const strC = str;//Not a constant expression
strC = "String";//Setter not found: 'strC'
Dart的變量聲明就是這些了,主要是需要注意var的變量聲明,其他的都是比較簡單的。