歡迎轉載,請註明出處git
本節將介紹Dart語言有別於其餘編程語言的特性或比較重要的特性。假定,你已經有一些其餘編程語言的基礎,如C,C++,Java,JavaScript等。
在正式開始以前,有必要介紹下Dart的版本信息,由於Dart的語法規則是跟它的版本有關係的。執行下面的命令:github
dart --version
複製代碼
能夠看到我本機安裝的Dart版本是2.5.0,實際上Dart 2.7.1穩定版已於2020年1月23日發佈了。這是由於咱們前面介紹過,咱們選擇安裝的Flutter SDK版本是1.9,而不是最新的1.12。
編程
本節及後續有關介紹Dart語法和功能,如與你本機運行的不一致的,請檢查下大家的Dart版本號。有興趣的話,點這裏能夠看到各個Dart版本之間的更新狀況。bash
咱們可使用如下3種方式聲明一個變量:編程語言
var name="groupones";
dynamic sex=true;
int age=18;
複製代碼
儘管Dart是強類型語言,可是在聲明變量時指定類型是可選的,由於Dart能夠進行類型推斷。例如,上例的name變量能夠推斷爲是String類型。dynamic表示變量類型是動態,相似於JavaScript語言的var關鍵字。咱們能夠經過一個小實驗進行驗證。函數
void main() {
var name="groupones";
dynamic sex=true;
int age=18;
print('sex old vallue is $sex');
sex = "男";
print('sex new vallue is $sex');
}
複製代碼
第7行和第9行print中的$sex表示字符串插值,使用sex變量值替換$sex,這相似於ES6的模板字符串。
咱們能夠選中文件後,右鍵選擇Run,運行該文件: ui
在Dart中,未初始化的變量擁有一個默認的初始化值:null。
spa
final和const均可以定義常量。咱們在Hello Widget項目裏已經用到過了。code
final TextStyle _biggerFont = const TextStyle(fontSize: 18.0);
複製代碼
一個final變量只能夠被賦值一次,若是更改final變量值,就會有如下的編譯錯誤彈框: cdn