Flutter學習筆記(3)--Dart變量與基本數據類型

如需轉載,請註明出處:Flutter學習筆記(3)--Dart變量與基本數據類型

一.變量

在Dart裏面,變量的聲明使用var、Object或Dynamic關鍵字,以下所示:html

var name = ‘張三’;java

在Dart語言裏一切皆爲對象,因此若是沒有將變量初始化,那麼它的默認值爲null(包括數字),若是須要判斷變量是否爲null,則須要進行以下判斷:編程

String name;if(name == null);數組

上面var name = ‘張三’,並無顯示的聲明變量的類型,咱們也能夠顯示的聲明:String name = ‘張三’;若是對象(變量)不只限於單一類型,請用Object或Dynamic關鍵字來進行修飾;編程語言

二.常量與固定值

在Dart語言裏面,若是想要聲明不變的常量,可使用final和const來進行修飾。函數

1.final

final修飾的常量必須在聲明的時候就進行初始化,並且在初始化以後值不可變;post

final userName = '張三';
userName = ‘李四’;//會引起錯誤

2.const

const與final不一樣,const是一個編譯時的常量,這也就意味着經過const修飾的常量,在編譯期間就要被初始化,不能等到程序運行後在進行初始化;學習

const userName;//錯誤,const是編譯時常量,須要在聲明時進行賦值初始化
const userName = ‘張三’;//正確

var name = ‘張三’;
const userName = name;//錯誤,name是個變量,不能賦值給const

const不單單能夠聲明常數變量,也能夠聲明常量值以及聲明建立常量值的構造函數,任何變量均可以有一個常量值;url

final aList = const[];
const bList = const[];
var cList = const[];

這裏的aList和bList就是兩個空的、不可變的列表集合,而cList則是空的、可變的列表集合;
須要注意的是:cList能夠從新賦值,而aList和bList不能夠從新複製;

三.基本數據類型

Dart語言經常使用的基本數據類型包括:Number數字、String字符串、Boolean布爾、List數組、Map集合、symbol符號;spa

1.Number類型包括int整型和double浮點型;

int整型:取值範圍爲-2^53到2^53,int類型不能包含小數點;

double浮點型:64位(雙精度)浮點數;

int和double都是num類型的子類,num類型包括的運算操做有:+、-、*、/、以及移位操做>>,num類型包括的經常使用方法有:abs、ceil和floor;

2.String類型

String s1 = ‘張三’;
String s2 = ‘李四’;
String s3 = s1 + s2;
print(s3);
打印:張三李四;

//單引號裏面嵌套單引號,必須在前面加上反斜槓
String s4 = ‘單引號裏面有單引號it\'s,必須在前面加反斜槓’;

//雙引號裏面嵌套單引號,能夠正常使用
String s5 = 「雙引號裏面有單引號it‘s,可正常使用」;

//單引號裏面嵌套雙引號,能夠正常使用
String s6 = ‘單引號裏面有雙引號「hello word」,能夠正常使用’;

//雙引號裏面嵌套雙引號,必須在前面加上反斜槓
String s7 = 「雙引號裏面有雙引號\「hello word\」,必須在前面加上反斜槓」

//能夠經過使用單引號或雙引號的三引號來建立多行文字;
String s8 = '''這是一個
    多行的
    文本'''

String s9= """這也是一個
    多行的
    文本"""

3.Boolean類型

bool a = false

4.List集合

和java同樣, list裏面的數據必須同一類型的數據,並且下標是從0開始的;

var list = [1,2,3];
//聲明一個編譯時常量const的list
List list = const[11,22,33];

5.Map集合

Map類型將Key和Value關聯在一塊兒,也就是鍵值對,像其餘支持Map的編程語言同樣,Key必須是惟一的;

var week = {
    ‘Monday’ : ‘星期一’,
    ‘Tuesday’ : ‘星期二’,
    ‘Wednesday’ : ‘星期三’,
    ‘Thursday’ : ‘星期四’,
    ‘Friday’ : ‘星期五’,
    ‘Saturday’ : ‘星期六’,       
}

var week = new Map();
week['Monday'] = ‘星期一’;
week['Tuesday'] = ‘星期二’;
week['Wednesday'] = ‘星期三’;
week['Thursday'] = ‘星期四’;
week['Friday'] = ‘星期五’;
week['Saturday'] = ‘星期六’;

添加新的Key-value對,對上面week再添加一個新的值;

week['0'] = '星期日';

這裏的0不是隻下標的索引,而是一個鍵(Key),所以咱們要打印week的length的話,長度爲7;

檢查Key是否再Map對象中

assert(week['Mond'] == null);

 

下一章節:Flutter學習筆記(4)--Dart函數

相關文章
相關標籤/搜索