(一)Dart語(yǔ)言簡(jiǎn)介

前言

最近要做flutter項(xiàng)目,Dart語(yǔ)法自然是前提,于是就在Dart學(xué)習(xí)和理解的過程中做了一些適合自己的知識(shí)總結(jié),同時(shí)也希望大家能快速的學(xué)習(xí),少走彎路。另外自己理解、整理、總結(jié)或輸入過長(zhǎng)中難免有誤,不吝指教,感激不盡!

一、Dart關(guān)鍵字鎮(zhèn)樓

abstract 1 continue false new this
as 1 default final null throw
assert deferred1 finally operator1 true
async 2 do for part1 try
async *2 dynamic1 get1 rethow typedef1
await 2 else if return var
break enum implements1 set1 void
case export1 import1 static1 while
catch external1 in super with
class extends is switch yield2
const factory1 library1 sync*2 yield*2

關(guān)鍵字右上角帶有上標(biāo) 1 的關(guān)鍵字是 內(nèi)置關(guān)鍵字。避免把內(nèi)置關(guān)鍵字當(dāng)作標(biāo)識(shí)符類名類型名使用。 有些內(nèi)置關(guān)鍵字是為了方便把 JavaScript 代碼移植到 Dart 而存在的。 例如,如果 JavaScript 代碼中有個(gè)變量的名字為 factory, 在移植到 Dart 中的時(shí)候,你不必重新命名這個(gè)變量。

關(guān)鍵字右上角帶有上標(biāo) 2 的關(guān)鍵字,是在 Dart 1.0 發(fā)布以后又新加的,用于支持異步相關(guān)的特性。 你不能在標(biāo)記為 asyncasync*、或者 sync* 的方法體內(nèi) 使用 async、 await、或者 yield 作為標(biāo)識(shí)符。

除此之外,其他單詞也都是 保留詞,也不能用保留詞作為關(guān)鍵字。

二、語(yǔ)言特性雜談

  • 所有能夠使用變量引用的都是對(duì)象, 每個(gè)對(duì)象都是一個(gè)類的實(shí)例。在 Dart 中甚至連 數(shù)字、方法null 都是對(duì)象。所有的對(duì)象都繼承于 Object 類。

  • Dart語(yǔ)言是動(dòng)態(tài)類型語(yǔ)言,可以省略變量類型,但是經(jīng)驗(yàn)告訴我們盡量給變量定義一個(gè)數(shù)據(jù)類型,會(huì)更安全。沒有顯示定義類型的變量在 debug 模式下會(huì)類型會(huì)是 dynamic(動(dòng)態(tài)的)。

  • 和 Java 不同的是,Dart 沒有 public、 protected、 和 private 關(guān)鍵字。如果一個(gè)標(biāo)識(shí)符以下劃線 _ 開頭,則該標(biāo)識(shí)符 在庫(kù)內(nèi)是私有的。

  • 標(biāo)識(shí)符可以以字母或者 _ 下劃線開頭,后面可以是 其他字符和數(shù)字的組合。

  • 沒有初始化的變量都會(huì)被賦予默認(rèn)值 null。

  • Dart 在 running 之前解析你的所有代碼,指定數(shù)據(jù)類型和編譯時(shí)的常量,可以提高運(yùn)行速度。

  • Dart語(yǔ)言的類和接口是統(tǒng)一的,類即接口,你可以繼承一個(gè)類,也可以實(shí)現(xiàn)一個(gè)類(接口),自然也包含了良好的面向?qū)ο蠛筒l(fā)編程的支持

  • final的值只能被設(shè)定一次。const 是一個(gè)編譯時(shí)的常量,可以通過 const 來創(chuàng)建常量值,var c=const[];,這里 c 還是一個(gè)變量,只是被賦值了一個(gè)常量值,它還是可以賦其它值。實(shí)例變量可以是 final,但不能是 const。

  • Dart 支持頂級(jí)方法 (例如 main()),同時(shí)還支持在類中定義函數(shù)(靜態(tài)函數(shù)和實(shí)例函數(shù))。 你還可以在方法中定義方法(嵌套方法或者局部方法)。

  • Dart 還支持頂級(jí)變量,以及 在類中定義變量(靜態(tài)變量和實(shí)例變量)。 實(shí)例變量有時(shí)候被稱之為域(Fields)或者屬性(Properties)。

  • 有時(shí)候 表達(dá)式(expression)語(yǔ)句(statement) 是有區(qū)別的,所以這種情況我們會(huì)分別指明每種情況。

  • Dart 工具可以指出兩種問題:警告和錯(cuò)誤。

  • Dart是強(qiáng)類型語(yǔ)言(Dart2開始)。

參考資料

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容