Dart語法要點

歡迎轉載,請註明出處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

能夠觀察到dynamic變量不一樣類型值的變化狀況:

在Dart中,未初始化的變量擁有一個默認的初始化值:null
spa

final和const均可以定義常量。咱們在Hello Widget項目裏已經用到過了。code

final TextStyle _biggerFont = const TextStyle(fontSize: 18.0);
複製代碼

一個final變量只能夠被賦值一次,若是更改final變量值,就會有如下的編譯錯誤彈框: cdn

一個const變量也是常量,是編譯時常量。例如:

由於new List()是程序運行階段才能肯定的一個具體值,因此靜態編譯階段賦值給const常量會出錯,而賦值給final常量則沒有問題。那麼編譯常量有什麼用?它能夠用於將構造函數聲明爲const 的,這種類型的構造函數建立的對象是不可改變的,也能夠用於定義枚舉量。咱們將會再後續的部分進行示例介紹。
相關文章
相關標籤/搜索