1. 常量以及固定值
static
類似java中的staitc,表示一個成員屬於類而不是對象
final
類似java中的final,必須初始化,初始化後值不可變,編譯時不能確定值。
Flutter 官方教程中,有這麼一行代碼:
final wordPair = WordPair.random();
Final 表明這個變量不能再發生更改,但是這個初始化的值在編譯時是不確定的, 只有在運行時,才能確定其值。一旦初始化,則不允許再次發生更改。
例如:
- HTTP 接口的返回
- 本地 sqlite 數據庫中取出的數據
- 三方庫的隨機數據
需要注意的是,如果 final 定義的是個 collection,其子元素不需要是 final 的。
const
顧名思義,const 定義時,需要是個明確的值,不能像 final 那樣,運行時才知道是什麼值。
例如:
const city = 'BeiJing';
需要注意的是,如果 const 定義的是個 collection,其子元素也需要是 const 的。
2.基本數據類型
Dart語言常用的基本數據類型包括:Number、String、Boolean、List、Map。
Number類型
- int整型。取值範圍-2^53到2^53。
- doble浮點型。64位長度的浮點類型數據,即雙精度浮點型。
注:int和double都是Num類型的子類,但是int類型不能包含小數。
String類型
String類型也就是所謂的字符串類型,在開發中會大量使用。定義的例子如下所示
/*單雙引號都可以*/
var str1 = 'Hello World';
var str2 = "Hello World";
注:String類型也可以使用+操作字符串,很方便,具體用法如下
var str1 = 'Hello---';
var str2 = "---World";
var str3 = str1+str2;
print(str3);
/*上面打印出的就是“Hello------World”*/
注:可以用三個單引號或者三個雙新號創建多行字符串
/*使用帶有單引號或雙引號的三重引號可以創建多行字符串*/
String str3 = """Hi,
I am BecauseHappy.""";
print("str3 = $str3");
/*輸出結果爲
str3 = Hi,
I am BecauseHappy.*/
Boolean類型
Dart是強bool類型檢查,只有bool類型的值必須是true或者false
List類型
在Dart語言中,具有一系列相同的數據稱爲List對象。Dart裏的List對象類似於Java,語言的數組Array對象,定義List的例子如下:
var list = [1,2,3];
List也跟java一樣,下標從0開始到list.lenght-1結束
Map類型
同樣,Map類型也跟java的Map類型相似,將key和value值關聯在一起,也就是鍵值對,Key必須是唯一的