如需轉載,,請注明出處:Flutter學習筆記(3)--Dart變量與基本數(shù)據(jù)類型一.變量在Dart里面,變量的聲明使用var,、Object或Dynamic關鍵字,,如下所示: var name = '張三’; 在Dart語言里一切皆為對象,,所以如果沒有將變量初始化,,那么它的默認值為null(包括數(shù)字),如果需要判斷變量是否為null,,則需要進行如下判斷: String name,;if(name == null); 上面var name = '張三’,,并沒有顯示的聲明變量的類型,,我們也可以顯示的聲明:String name = '張三’;如果對象(變量)不僅限于單一類型,,請用Object或Dynamic關鍵字來進行修飾,; 二.常量與固定值在Dart語言里面,如果想要聲明不變的常量,,可以使用final和const來進行修飾,。 1.finalfinal修飾的常量必須在聲明的時候就進行初始化,而且在初始化之后值不可變,; final userName = '張三',; userName = '李四’,;//會引發(fā)錯誤 2.constconst與final不同,const是一個編譯時的常量,,這也就意味著通過const修飾的常量,,在編譯期間就要被初始化,不能等到程序運行后在進行初始化,; const userName;//錯誤,,const是編譯時常量,需要在聲明時進行賦值初始化 const userName = '張三’,;//正確 var name = '張三’,; const userName = name;//錯誤,,name是個變量,,不能賦值給const const不僅僅可以聲明常數(shù)變量,也可以聲明常量值以及聲明創(chuàng)建常量值的構造函數(shù),,任何變量都可以有一個常量值,; final aList = const[]; const bList = const[],; var cList = const[],; 這里的aList和bList就是兩個空的、不可變的列表集合,,而cList則是空的,、可變的列表集合; 需要注意的是:cList可以重新賦值,,而aList和bList不可以重新復制,; 三.基本數(shù)據(jù)類型Dart語言常用的基本數(shù)據(jù)類型包括:Number數(shù)字、String字符串,、Boolean布爾,、List數(shù)組,、Map集合,、symbol符號; 1.Number類型包括int整型和double浮點型,;int整型:取值范圍為-2^53到2^53,,int類型不能包含小數(shù)點; double浮點型:64位(雙精度)浮點數(shù),; 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\”,,必須在前面加上反斜杠” //可以通過使用單引號或雙引號的三引號來創(chuàng)建多行文字,; String s8 = '''這是一個 多行的 文本'''; String s9= """這也是一個 多行的 文本""",; 3.Boolean類型bool a = false,;4.List集合和java一樣, list里面的數(shù)據(jù)必須同一類型的數(shù)據(jù),,而且下標是從0開始的,; var list = [1,2,3]; //聲明一個編譯時常量const的list List list = const[11,22,33]; 5.Map集合Map類型將Key和Value關聯(lián)在一起,也就是鍵值對,,像其他支持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);
|
|