
- Dart 程式設計教程
- Dart 程式設計 - 首頁
- Dart 程式設計 - 概述
- Dart 程式設計 - 環境
- Dart 程式設計 - 語法
- Dart 程式設計 - 資料型別
- Dart 程式設計 - 變數
- Dart 程式設計 - 運算子
- Dart 程式設計 - 迴圈
- Dart 程式設計 - 決策
- Dart 程式設計 - 數字
- Dart 程式設計 - 字串
- Dart 程式設計 - 布林值
- Dart 程式設計 - 列表
- Dart 程式設計 - 列表
- Dart 程式設計 - 對映
- Dart 程式設計 - 符號
- Dart 程式設計 - 字串碼點
- Dart 程式設計 - 列舉
- Dart 程式設計 - 函式
- Dart 程式設計 - 介面
- Dart 程式設計 - 類
- Dart 程式設計 - 物件
- Dart 程式設計 - 集合
- Dart 程式設計 - 泛型
- Dart 程式設計 - 包
- Dart 程式設計 - 異常
- Dart 程式設計 - 除錯
- Dart 程式設計 - 型別定義
- Dart 程式設計 - 庫
- Dart 程式設計 - 非同步
- Dart 程式設計 - 併發
- Dart 程式設計 - 單元測試
- Dart 程式設計 - HTML DOM
- Dart 程式設計有用資源
- Dart 程式設計 - 快速指南
- Dart 程式設計 - 資源
- Dart 程式設計 - 討論
Dart 程式設計 - 語法
語法定義了一套編寫程式的規則。每種語言規範都定義了自己的語法。Dart 程式由以下組成:
- 變數和運算子
- 類
- 函式
- 表示式和程式設計結構
- 決策和迴圈結構
- 註釋
- 庫和包
- 型別定義
- 表示為集合/泛型的數
你的第一個 Dart 程式碼
讓我們從傳統的“Hello World”示例開始:
main() { print("Hello World!"); }
main() 函式是 Dart 中一個預定義的方法。此方法充當應用程式的入口點。Dart 指令碼需要main() 方法才能執行。print() 是一個預定義函式,它將指定的字串或值列印到標準輸出,即終端。
上述程式碼的輸出將是:
Hello World!
執行 Dart 程式
您可以透過兩種方式執行 Dart 程式:
- 透過終端
- 透過 WebStorm IDE
透過終端
要透過終端執行 Dart 程式:
- 導航到當前專案的路徑
- 在終端視窗中鍵入以下命令
dart file_name.dart
透過 WebStorm IDE
要透過 WebStorm IDE 執行 Dart 程式:
右鍵單擊 IDE 上的 Dart 指令碼檔案。(檔案應包含main() 函式以啟用執行)
單擊“執行 <file_name>” 選項。下面給出了相同的螢幕截圖:

或者,可以單擊按鈕或使用快捷鍵Ctrl+Shift+F10 執行 Dart 指令碼。
Dart 命令列選項
Dart 命令列選項用於修改 Dart 指令碼執行。Dart 的常用命令列選項包括以下內容:
序號 | 命令列選項和描述 |
---|---|
1 | -c 或 --c
啟用斷言和型別檢查(檢查模式)。 |
2 | --version
顯示 VM 版本資訊。 |
3 | --packages <path>
指定包解析配置檔案的路徑。 |
4 | -p <path>
指定匯入庫的查詢位置。此選項不能與 --packages 一起使用。 |
5 | -h 或 --help
顯示幫助。 |
啟用檢查模式
Dart 程式以兩種模式執行,即:
- 檢查模式
- 生產模式(預設)
建議在開發和測試期間在檢查模式下執行 Dart VM,因為它會新增警告和錯誤以幫助開發和除錯過程。檢查模式強制執行各種檢查,例如型別檢查等。要開啟檢查模式,在執行指令碼時,在指令碼檔名之前新增 -c 或 –-checked 選項。
但是,為了確保在執行指令碼時獲得性能優勢,建議在生產模式下執行指令碼。
考慮以下Test.dart 指令碼檔案:
void main() { int n = "hello"; print(n); }
透過輸入以下內容執行指令碼:
dart Test.dart
儘管存在型別不匹配,但指令碼仍會成功執行,因為檢查模式已關閉。指令碼將產生以下輸出:
hello
現在嘗試使用“- - checked”或“-c”選項執行指令碼:
dart -c Test.dart
或者,
dart - - checked Test.dart
Dart VM 將丟擲一個錯誤,指出存在型別不匹配。
Unhandled exception: type 'String' is not a subtype of type 'int' of 'n' where String is from dart:core int is from dart:core #0 main (file:///C:/Users/Administrator/Desktop/test.dart:3:9) #1 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart :261) #2 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148)
Dart 中的識別符號
識別符號是賦予程式中元素(如變數、函式等)的名稱。識別符號的規則如下:
識別符號可以包含字元和數字。但是,識別符號不能以數字開頭。
識別符號不能包含特殊符號,除了下劃線 (_) 或美元符號 ($) 之外。
識別符號不能是關鍵字。
它們必須是唯一的。
識別符號區分大小寫。
識別符號不能包含空格。
下表列出了一些有效和無效識別符號的示例:
有效識別符號 | 無效識別符號 |
---|---|
firstName | Var |
first_name | first name |
num1 | first-name |
$result | 1number |
Dart 中的關鍵字
關鍵字在語言環境中具有特殊含義。下表列出了 Dart 中的一些關鍵字。
abstract 1 | continue | false | new | this |
as 1 | default | final | null | throw |
assert | deferred 1 | finally | operator 1 | true |
async 2 | do | for | part 1 | try |
async* 2 | dynamic 1 | get 1 | rethrow | typedef 1 |
await 2 | else | if | return | var |
break | enum | implements 1 | set 1 | void |
case | export 1 | import 1 | static 1 | while |
catch | external 1 | in | super | with |
class | extends | is | switch | yield 2 |
const | factory 1 | library 1 | sync* 2 | yield* 2 |
空格和換行符
Dart 忽略程式中出現的空格、製表符和換行符。您可以在程式中隨意使用空格、製表符和換行符,並且可以自由地以整潔一致的方式格式化和縮排程式,使程式碼易於閱讀和理解。
Dart 區分大小寫
Dart 區分大小寫。這意味著 Dart 區分大寫和小寫字元。
語句以分號結尾
每行指令稱為語句。每個 Dart 語句都必須以分號 (;) 結尾。一行可以包含多個語句。但是,這些語句必須用分號隔開。
Dart 中的註釋
註釋是提高程式可讀性的一種方法。註釋可用於包含有關程式的其他資訊,例如程式碼作者、有關函式/結構的提示等。註釋被編譯器忽略。
Dart 支援以下型別的註釋:
單行註釋 ( // ) - “//” 和行尾之間的任何文字都被視為註釋
多行註釋 (/* */) - 這些註釋可能跨越多行。
示例
// this is single line comment /* This is a Multi-line comment */
Dart 中的面向物件程式設計
Dart 是一種面向物件的語言。面向物件是一種軟體開發正規化,遵循現實世界的建模。面向物件將程式視為物件的集合,這些物件透過稱為方法的機制相互通訊。
物件 - 物件是任何實體的即時表示。根據 Grady Brooch 的說法,每個物件都必須具有三個特徵:
狀態 - 由物件的屬性描述。
行為 - 描述物件將如何行動。
標識 - 一個唯一的值,將一個物件與一組類似的物件區分開來。
類 - 從 OOP 的角度來看,類是建立物件的藍圖。類封裝了物件的資料。
方法 - 方法促進物件之間的通訊。
示例:Dart 和麵向物件
class TestClass { void disp() { print("Hello World"); } } void main() { TestClass c = new TestClass(); c.disp(); }
上面的示例定義了一個類TestClass。該類有一個方法disp()。該方法在終端上列印字串“Hello World”。new 關鍵字建立類的物件。該物件呼叫方法disp()。
程式碼應產生以下輸出:
Hello World