Dart語言基礎概述

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也是對象類型…

Dart庫

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章