Flutter使用的是Dart語言.我們可以在repl.it網站內在線編譯Dart程序
首先進入網站給出的是一個標準的語言學習入門輸出"Hello World!"
void main() {
print('Hello World!');
}
第一眼瞧,感覺和C語言沒有什麼不一樣的
變量
在Dart中聲明變量的方式有兩種.一種是讓Dart編譯器自己去推斷的聲明方式:
var a = 1;
另外一種就是指定類型的模式:
int a = 1;
輸出:
print("a is :$a");
另,在Dart中,變量未初始化的值都爲null.所以判斷就變得簡單了if (a == null) {}
數值類型
對於數值類型,一共有三種類型:num.64位int.64位double.
在Dart中num是int和float的父類
想用數值計算單一些高級功能的話可以使用dart:math
庫.
布爾類型
Dart中有一個bool類型,取值只有true,false兩個值.像C中的下面這個示例肯定是不能通過編譯的
/// 錯誤示例
var a = 1;
if (a) {
} else {
}
必須是類似Swift有表達式的==返回的bool值判斷
var a = 1;
if (a == 1) {
} else {
}
字符串
類似Swift.多行文本可以使用如下的形式創建
```context```
字符串的創建
String a = 'abc';
String b = "abc";
String c = """abc""";
其中a.b.c的值相等.
字符串的拼接
var d = a + b + c
輸出
///直接輸出c的值
print("$c");
/// 將c字符串全部轉換成大寫字母然後輸出
print("${c.toUpperCase()}");
集合類型
List
可以理解爲Array
/// 創建一個Array
var array = ["123" ,"2345" ,"3456"];
/// 向Array添加一個元素
array.add("123123123");
/// 創建時可以添加類型約束
var array2 = <Stirng>[];
/// 動態類型數組
var array3 = <dynamic>[1, "2" ,"3"];
/// or,反正能自動推算類型
var array3 = [1, "2" ,"3"];
需要注意的是,add的添加的方法的類型必須和創建array
輸出
print(array);
Map
可以理解爲Dictionary
/// 創建一個Map
var map = {"key1" :value1 ,"key2" :value2};
/// 向Map添加一個元素/或者更新已有Key的value
map["key3"] = value3
/// 創建時可以添加類型約束
var map2 = <String ,String>{};
/// 動態類型Map
var map3 = <String ,dynamic>{"123":11,"1234":"1234567x"};
常量
Dart的常量有兩種
- 1.const,即爲編譯期就能確定的值.
- 2.final,可以在運行期確定值,一旦確定就不能更改.
兩者都是確定值後不能更改,唯一有區別的是final可以在運行期確定值.就比如
const a
就會報錯.
結尾
和一般的編程語言可能不太相同的地方是,Dart中所有的類型都是對象類型,都繼承自頂層類型Object.就連null也是對象類型…