1.Dart基本概念
Dart中所有的變量對對應着一個對象,初始值爲null,即使是基本數據類型,函數方法都算被看成對象,null,它們都是繼承自Object.
Dart 會自動根據數值,推斷其類型。當您想要明確地聲明沒有類型時,使用特殊類型的dynamic。例如 dynamic arg;
DART支持泛型類型,如列表< int >(一個整數列表)或列表<動態>(任何類型的對象列表)
不像java,Dart沒有關鍵詞public、private 等修飾符
標識符可以從字母或下劃線開始
2.Dart基本數據類型
int
整數值不大於64位,這取決於平臺。在DART VM上,值可以從-263到262。但是要編譯成JavaScript,所以dart得數值允許值從-2的53次冪到2的53次冪-1。
double
由IEEE 754標準規定的64位(雙精度)浮點數字。
int/double 轉String
// String -> int
var one = int.parse('1');
assert(one == 1);//目前還不知道這個assert方法的作用,後續解決
// String -> double
var onePointOne = double.parse('1.1');
assert(onePointOne == 1.1);
// int -> String
String oneAsString = 1.toString();
assert(oneAsString == '1');
// double -> String
String piAsString = 3.14159.toStringAsFixed(2);
assert(piAsString == '3.14');
常量的定義
const msPerSecond = 1000;
const secondsUntilRetry = 5;
const msUntilRetry = secondsUntilRetry * msPerSecond;
String
DART字符串是UTF16代碼單元的序列。可以使用單引號或雙引號創建字符串:
var s1 = 'Single quotes work well for string literals.';
var s2 = "Double quotes work just as well.";
var s3 = 'It\'s easy to escape the string delimiter.';
var s4 = "It's even easier to use the other delimiter.";
Boolean
Dart中布爾類型用bool表示,賦予true/false,用法跟java一樣。
List
也許在幾乎每種編程語言中最常見的集合是數組或對象的有序組。在DART中,數組是列表對象,所以大多數人只把它們稱爲列表。
列表使用基於零的索引,其中0是第一個元素的索引,而List.List- 1是最後一個元素的索引。你可以得到一個列表的長度,並參考列表元素,就像你在JavaScript中一樣:
var list = [1, 2, 3];
assert(list.length == 3);
assert(list[1] == 2);
list[1] = 1;
assert(list[1] == 1);
若要創建一個編譯時間常量的列表,請在列表文字之前添加const。
var constantList = const [1, 2, 3];
// constantList[1] = 1; // Uncommenting this causes an error.
Maps
//聲明map 方式1
var map1=new Map();
//聲明map 方式2
var map2={
"key":"value"
};
map2["key1"]="value1";
map1["key2"]="value2";//給map添加數據
map1[1]="value3";//得到value
print(map1[1]);
另外還有Runes 和Symbols 類型。我也不是很明白,在此就不做太多的介紹
final 和const
如果你不打算改變一個變量,使用final或const修飾變量,而不是var或一個類型。最終變量只能設置一次;const變量是編譯時常數。