每種語言都會有基本的數據類型,Dart中的數據類型有哪些呢?直接上代碼:
/**
* Dart中的數據類型
* Number(數值類型)
* int(整數類型)
* double(浮點類型)
* String(字符串類型)
* bool(布爾類型)
* List(集合 & 數組)
* Map(鍵值對)
* dynamic(動態類型)
*/
void main(){
//Number類型
int int_value = 1;
print(int_value);
double double_value = 2.3;
print(double_value);
//String類型
//方式1,雙引號方式
String string_value1 = "字符串";
print(string_value1);
//方式2,單引號方式
String string_value2 = '字符串';
print(string_value2);
//方式3,三引號方式,與雙單相比,它支持換行
String string_value3 = '''sdasdasds
dsadasdasdsadasdas
dsadasdsadasdsa''';
print(string_value3);
//bool類型
bool bool_value = true;
print(bool_value);
//集合的方式
List list = new List();
list.add(1);
list.add(2);
list.add("3");
list.add(4);
list.add(5);
//數組方式
var list_array = {1,2,3};//聲明和賦值同時
List list_array2 = new List(3);
list_array2[0] = 1;
list_array2[1] = 2;
list_array2[2] = 3;
//List的遍歷-使用in關鍵字
for(var i in list){
print("in關鍵字遍歷方式:$i");
}
//以下標的方式進行List的遍歷,集合訪問某一個元素是通過[]加下標的方式進行訪問
for(int i=0;i<list.length;i++){
print("下標遍歷方式:${list[i]}");
}
//注意在Dart中Map集合的存和取都是通過[],這裏的中括號裏不僅僅能放int類型,在使用Map時它可以放任意類型,甚至是null也可以。
Map<String,int> map = new Map();
map["1"] = 1;
map["2"] = 2;
map["3"] = 3;
map["4"] = 4;
map["5"] = 5;
map[null] = 3;
//關於Map的遍歷還有其他屬性,筆者這裏不談,會在之後的講解集合的文章中詳細介紹
map.forEach((String key,int value){
print("鍵:[${key}]-值[${value}]");
});
//回想一下var在聲明時賦值了,那麼之後變量的類型
// 是不允許改變的,但是dynamic是可以的
dynamic s = true;
s = 3;
s = "3";
}
請一定好好閱讀上面代碼,最好是自己手敲一遍。看完上面你是否有個感覺,相比於Java,Dart的基本數據類型是不是少了很多,而且使用起來比較簡潔,例如List,它既可以當成數組又可以當成集合,而Map存鍵值對,和取鍵值對都相當的方便,甚至可以以中闊的方式訪問key對應的值,例如我要訪問key="s"對應的值,那麼訪問方式就是map[“s”],而在Java中它是這麼訪問的map.get(“s”),所以這就是區別所在。
- 訂閱筆者的一起來學Flutter系列文章,將Flutter加入到自己的技術棧吧!
- 下篇文章:Dart中的運算符&條件表達式&類型轉換