Dart語言入門(一)

Dart 語言介紹

Dart 是谷歌在 2011 年推出的編程語言,是一種結構化 Web 編程語言,容許用戶經過 Chromium 中所整合的虛擬機(Dart VM)直接運行 Dart 語言編寫的程序,免去了單獨編譯的步驟。之後這些程序將從 Dart VM 更快的性能與較低的啓動延遲中受益。Dart 從設計之初就爲配合現代 web 總體運做而考慮,開發團隊也同時在持續改進 Dart 向 JavaScript 轉換的快速編譯器。Dart VM 以及現代 JavaScript 引擎(V8 等)都是 Dart 語言的首選目標平臺。html

Dart語言概念重點

  • 每一個變量都是一個對象,每一個對象是一個類的實例。甚至數字,函數,和null都是對象。全部對象都繼承自Objectweb

  • 指定靜態類型(如num前面的例子中)講清意圖,用 tools 開啓靜態檢查,但它是可選的。 (可能注意到當你調試代碼,沒有指定類型的變量會獲得一個特殊的類型: dynamic )編程

  • Dart解析全部的代碼運行以前。能夠對Dart提供提示,例如,經過使用類型或編譯時間常數來捕獲錯誤或幫助代碼運行更快。api

  • Dart支持頂級函數(如main())也支持類或者對象(靜態和實例方法分別支持)裏的函數。還能夠在函數裏建立函數(嵌套或局部功能)。數組

  • 相似的,Dart支持頂級變量,以及依賴於類或對象(靜態變量和實例變量)變量。實例變量有時被稱爲域或屬性。異步

  • 與Java不一樣,Dart不具有關鍵字public,protected和private。若是一個標識符如下劃線(_)開始,那麼它和它的庫都是私有的。async

  • 標識符能夠字母或(_)開始,或者是字符加數字的組合開頭。編程語言

  • 有時,判斷是一個表達式仍是一個語句會很重要,因此咱們要準確瞭解這兩個單詞。ide

  • Dart tools可報告兩類問題:警告(warning)和錯誤(error)。警告只是跡象代表,代碼可能沒法正常工做,但他們不會阻止程序的執行。錯誤能夠是編譯時或運行時,編譯時的錯誤阻止代碼執行;當代碼執行時一個運行時的錯誤會致使一個 異常(exception)被拋出。函數

  • Dart有兩種運行模式:生產 (production) 和檢查 (checked) 。咱們建議在檢查模式開發和調試,並將其部署到生產模式。

  • Production mode是Dart程序一個速度優化的默認運行模式。Production mode忽略 斷言語句(assert statements) 和靜態類型。

  • Checked mode 是開發人員友好的方式,能夠幫助你在運行時捕捉一些類型的錯誤。例如,若是分配一個非數字來聲明爲一個 num 變量,而後在檢查模式會拋出異常。

Dart關鍵字

abstract continue false new this

as

default final null throw
assert deferred finally operator true
async do for part try
async$ dynamic get rethrow typedef
await else if return var
break enum implements set void
case export import static while
catch external in super with
class extends is switch yield
const factory library sync* yield$
  • 上標1的單詞是內置的標識符(built-in identifiers)。避免使用表格內的標識做爲符標識,並且歷來不使用它們做爲類(class)或類型(type)的名稱。內置標識符存在,以方便從 JavaScript 到 Dart 的移植。例如,若是一些JavaScript代碼中有一個名爲工廠的變量,當你將代碼移植到 Datr 中,你沒必要從新命名它。

  • 上標2的單詞是的Dart1.0版本以後添加異步支持較新的、有限的保留字。不能使用async,await,或yield做爲在標有async,或sync的任何函數體的標識符。欲瞭解更多信息,請參見 異步性支持(Asynchrony support)

  • 在關鍵字表中的全部單詞都是保留字。不能使用保留字做爲標識符。

變量

ex1:

var name = 'along';

變量都是引用,變量name包含對一個String的對象值'along' 的引用

默認值

未初始化的變量具備null 的初始值,即便數字類型最初變量也是null,由於數字也是對象。

final和const:

若是從不打算改變一個變量,使用 final 或者 const 代替 var 或者其餘類型。一個 final 變量只能被設置一次;一個 const 變量是一個編譯時常數。(延遲初始化變量有助於應用程序啓動的更快)

內置類型

  • 數字 number
  • 字符串 strings
  • 布爾 booleans
  • 列表 lists(也稱爲數組arrays)
  • 圖 maps
  • 符號 symbols
相關文章
相關標籤/搜索