變量通俗的說就是能夠變化的量,做用就是用來存儲數據,你能夠把一個變量看做是一個水果籃,裏面能夠裝蘋果、梨、香蕉等,常量就是一個固定的值,和變量是相對的,變量能夠變化,常量是不能夠變化的html
1.聲明變量node
在dart中使用var來聲明一個變量,這個和js中聲明變量同樣es6
void main() { var num = 10; print(num); // 10 }
注意:沒有給變量賦值的時候,默認爲null數組
void main() { var num; print(num); // null }
能夠使用final關鍵字聲明一個只能被賦值一次的變量code
void main() { final num = 10; print(num); // num = 30; // print(num); // 把這兩行註釋打開會報錯 }
2.常量聲明htm
常量聲明須要使用const關鍵字,這個和es6中的const相似字符串
void main() { const num = 10; print(num); num = 30; // 報錯 }
3.final和const的區別get
dart中提供的數據類型有如下幾種:string
1. 數字類型-numbber 2. 字符串類型-string 3. 布爾類型-Boolean 4. 列表-list 5. Map 6. Runes 七、Symbols
1.數字類型(number)變量
數值型包括整型(int)和浮點型(double),定義變量的時候能夠規定類型
void main() { // num是整型和浮點型的總稱, 這個時候變量a裏面既能夠存整型也能夠存浮點型 num a = 20; print(a); a = 20.5; print(a); }
void main() { // int表示定義整型,這個時候裏面不能存浮點型 int a = 20; print(a); a = 20.5; // 報錯 print(a); }
void main() { double a = 20.5; print(a); a = 20; // 沒報錯 print(a); // 20.0 }
2.字符串類型(String)
定義字符串能夠有多種方式,包括單引號、雙引號、三引號、原始字符串等
void main() { // 單引號形式 String str1 = 'hello nodeing!!'; // 雙引號形式 String str2 = "hello nodeing!!!"; // 三引號形式,能夠建立多行字符串 String str3 = ''' <div> <h1>hello nodeing!!</h1> </div> '''; // 定義原始字符串 String str4 = r'hello \n nodeing!!!'; // 沒有使用原始字符串定義 String str5 = 'hello \n nodeing!!!'; print(str1); print(str2); print(str3); print(str4); print(str5); }
上面代碼中須要注意的是,str5由於沒有使用原始字符串定義,因此\n會被當成是回車換行
3.布爾類型(Boolean)
布爾類型很是簡單,只有兩個值,true和false
void main() { bool a = true; bool b = false; print(a); print(b); }
4.list列表
list和js中的數組相似,長得都是同樣的
void main() { // 建立一個list var lis = [1, 2, 3]; print(lis); // 經過類的方式建立 var lis2 = new List(); print(lis2); // 建立一個不可變的列表 var lis3 = const [1, 2, 3]; lis3[0] = 2; // 報錯 }
5.Map類型
Map類型就是一些鍵值對
void main() { // 建立一個list var mp = {'name': 'xiaoqiang', 'age': 18}; print(mp); // 經過類的方式建立 var mp2 = new Map(); print(mp2); // 建立一個不可變的Map var mp3 = const {'name': 'xiaosan', 'age': 30}; // 獲取值 print(mp3['name']); mp3['name'] = 'xiaosi'; // 報錯 }