flutter 移動應用開發實戰

此文章來自 B站視頻教程 傳送門

介紹

  • Dart 致力於打造漂亮且高質量的跨屏體驗express

    • 針對客戶端開發優化
    • 豐富而強大的框架
    • 使人愉悅且靈活的工具
  • 安裝數組

    • 通常跟隨框架安裝,好比Flutter
    • 可經過DartPad 在線編寫和運行代碼

重要概念

  • 一切變量都是對象,包括數字,函數和 null
  • 對象是類的實例,全部類都繼承 Object
  • 強類型但支持類型推斷
  • 若是不想指定具體類型可使用 dynamic
  • 支持泛型,好比 List<inrt> 或 List<dynameic>
  • 支持頂層函數、類方法、實例方法和嵌套函數
  • 支持頂層變量、類變量、實例變量和局部變量

變量

  • 變量類型可自動推斷、或者顯示指定
  • 未初始化的變量其值都爲null、包括數字
  • 若是某個變量的值在定義後不會在改變、那就聲明爲 final 或 const
  • final 和 const變量只能賦值一次、但const 變量的值須要在編譯時就能確認
  • final 和 const變量必須在其定義時就完成初始化(若是不初始化那他們的值就只能是null)
  • const 除了用來聲明變量、也能夠用來聲明值、也就是常量
  • 初始化 const 變量時能夠省去值前面的 const、由於 const變量的值確定的是一個常量
  • 常值用來防止內容變化、常量用來避免變量尋址、final 變量用來提高代碼安全性

內置類型

  • 數字(num)安全

    • num 是 int 和 double的基類
    • int 爲 64位整數、 double 爲64爲浮點數
  • 字符串(String)閉包

    • 字符串是UTF-16碼元(Code Unit)序列、每一個 Unicode 字符映射爲1個或2個碼元
    • 字符串字面量可使用單引號或雙引號
    • 使用 ${expression} 來插入變量值、若是 expression 是個合法的標識符、則能夠省去 {}
    • 使用毗連字符串常量或者 + 操做符來拼接字符串
    • 使用 r 前綴來聲明原始字符串、其內不做字符轉義
    • 只要內部插入的表達式爲編譯時常量、則字符串字面量爲編譯時常量
  • 布爾(bool)框架

    • 只有兩個值 true 和 false,都是編譯時常量
    • 在須要布爾類型的地方必須使用布爾值
  • 列表(List)ide

    • 列表就是其餘語言的數組,用來表示對象序列
    • 列表索引序號從 0 開始,直到 list.length - 1
    • 在列表字面量前使用 const 來聲明常值
    • 使用 [] 操做符來操做列表元素
  • 哈希表(Map)函數

    • 哈希表用來關聯鍵和值、鍵和值能夠是任意類型的對象、但鍵必須惟一
    • 使用 [] 操做符來操做哈希表的值
    • 在哈希表字面量前使用 const 來聲明常值
  • 符文(Rune)工具

    • Rune 是由 UTF-32 碼點(Code Point)組成的字符串,一個Rune字符對應一個 Unicode 字符
    • 碼點通常使用 4個十六進制字符 uXXXX 來表示,若是超過 4個,則須要使用 {} 將十六進制字符括起來
    • 字符串和 Rune 直接可互相轉換

函數

  • 函數也是一種對象,類型爲Function
  • 函數參數和返回值類型能夠省略,以支持動態類型
  • 若是函數體只包含一個表達式,可以使用箭頭語法來定義
  • 可選參數佈局

    • 可選命名參數使用{}來指定,並可以使用註解 @required 標註爲必須
    • 可選位置參數使用 [] 指定
    • 可選參數默認值使用 = 來指定,如爲指定則默認值爲null
  • 每一個程序都應有個位於頂層的 main函數,它是程序入口
  • 函數可做爲函數參數值,也可賦值給變量
  • 可定義匿名函數,通常做爲函數參數值或賦值給變量
  • 變量做用域靜態肯定,也就是同代碼佈局,每對大括號定義一個做用域,嵌套大括號定義嵌套做用域
  • 閉包是一個能訪問其外層做用域變量的函數,即使該函數在其餘地方被調用
  • 若是函數沒有指定返回值,則默認返回null,若是確實不想返回任何值,則可指定返回類型爲void

後續敬請期待。。。優化

相關文章
相關標籤/搜索