Dart 基礎篇(二)—— 基礎知識

入口方法

在上一篇文章中,我們配置了 Dart 開發的基本環境,而且在一個 main 方法中輸出了簡單的一句話。然而,這個 main 方法就是一個 Dart 程序(腳本)的入口。

語法:

main(){
	//邏輯
}

註釋

與其他語言一致,分爲單行註釋和多行註釋。

  • //這是一個單行註釋
  • /*這是一個多行註釋*/

變量

Dart 語言中,定義變量有三種方式:

  • 通過關鍵字 var 聲明變量(類似於 JS
  • 通過變量類型來指定這個變量的類型(類似於 Java
  • 通過關鍵字 dynamic 聲明一個可跨類型的變量。

只能使用一種方式來定義,不能同時使用兩種方式定義一個變量。

通過關鍵字 var 聲明變量

通過關鍵字 var 可以聲明任何類型的變量,Dart 具有變量類型推斷的能力,一個變量一旦被初始化,那麼這個變量的類型就確定了,就是這個初始化值的類型!!

var str = "jonas";
print(str);
str = 123;//報錯
print(str);

分析:變量 str 已經被初始化值爲一個字符串類型,所以這個變量的類型也被確定爲字符串類型,從而不能保存數值類型的值。

注意:如果聲明與初始化是分開進行的,結果是不一樣的:

var str;
str = "jonas";
print(str);
str = 123;
print(str);

以上代碼的執行結果是:正常輸出 jonas 和 123.

出現這種結果的原因是:變量的聲明與初始化是不分開的,如果通過 var 關鍵字聲明一個變量,而沒有顯式的賦值(就如上面的情況),那麼這個變量其實會被解釋器賦值爲 null,從而這個變量的類型也就確定爲 null 類型,在 Dart 語言中,null 類型的變量可以保存所有類型的值!!

通過類型關鍵字聲明變量

Dart 語言中,提供了很多種變量類型(具體在後面的文章介紹),在聲明變量時可以直截了當的指定這個變量的類型,從而省去解釋器的類型推斷。

String str = "jonas";
int num = 123;
print(str);
print(num);

通過關鍵字 dynamic 聲明變量

通過關鍵字 dynamic 聲明的變量可以保存任意類型的值。

dynamic str = "jonas";
print(str);
str = 123;
print(str);

結果:上面的兩句輸出會正確打印。

需要注意的是:我們更應該使用類型關鍵字去聲明一個變量。

變量的命名規則

命名規則與大部分編程語言一致:

  • 區分大小寫
  • 可以使用的字符有:字母、數字、下劃線、$,但不能以數字開頭
  • 不能是關鍵字和保留字
  • 儘量使用小駝峯命名法(不強制)

常量

Dart 語言中,提供了兩個關鍵字 constfinal 用於聲明常量。兩者定義的常量都是不能被修改的,區別在於 final 是惰性的,只有在第一次初始化時才決定這個常量的值,而 const 則在聲明的時候就要指定初始化值。

//正確的
const PI = 3.14;
final num = 132;

const _date = new DateTime.now();//報錯
final date = new DateTime.now();//正確

最後補充一點:在 Dart 語言中,語句都必須以分號或 } 結尾,不能像 JS 那樣拋棄分號了。

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