【Dart快速入門】安裝與運行程序

Dart is a client-optimized language for fast apps on any platform。

下載安裝 Dart SDK

Dart SDK 可以用來開發 WEB、命令行程序、服務端程序等。

如果是開發移動端APP,直接下載 Flutter 就行,不用在下載 Dart SDK。

我們這裏爲了學習和演示,還是先下載一個 Dart SDK。

Mac 可以直接使用 brew 安裝:

$ brew tap dart-lang/dart
$ brew install dart

查看要安裝的 dart 信息:

$ brew info dart

安裝成功後,我們可以使用 dart --version 來查看dart的版本:

$ dart --version
Dart VM version: 2.5.0 (Fri Sep 6 20:39:27 2019 +0200) on "macos_x64"

可以看到,我們現在安裝的是 dart 2.5版本。

查看 dart 安裝到哪裏了?

$ which dart
/usr/local/bin/dart
$ ls -al /usr/local/bin/dart
lrwxr-xr-x  1 wangtom  admin  29  9 25 10:22 /usr/local/bin/dart -> ../Cellar/dart/2.5.0/bin/dart

可以看到 dart 安裝到了 /usr/local/Cellar/dart/2.5.0 目錄下:

$ /usr/local/Cellar/dart/2.5.0/bin/dart --version
Dart VM version: 2.5.0 (Fri Sep 6 20:39:27 2019 +0200) on "macos_x64"

查看 dart 目錄:

$ tree /usr/local/Cellar/dart/2.5.0 -L 2
/usr/local/Cellar/dart/2.5.0
├── INSTALL_RECEIPT.json
├── LICENSE
├── README
├── bin
│   ├── dart -> ../libexec/bin/dart
│   ├── dart2aot
│   ├── dart2js
│   ├── dartanalyzer
│   ├── dartaotruntime
│   ├── dartdevc
│   ├── dartdoc
│   ├── dartfmt
│   └── pub
└── libexec
    ├── bin
    ├── dartdoc_options.yaml
    ├── include
    ├── lib
    ├── model
    ├── revision
    └── version

可以看到 bin 目錄下處理 dart 目錄,還有很多其他的命令。

比如,將Dart編譯爲JavaScript的命令: dart2js
比如,Dart官方的包管理器命令: pub
比如,Dart代碼格式化工具命令: dartfmt

詳見Dart官網-獲取Dart語言SDK

第一個Dart程序HelloWorld

創建一個 dart-dev/examples目錄,在目錄中創建一個文件,名爲hello.dart

其代碼如下:

// 第一個dart代碼
void main() {
  print('Hello, World!');
}

每個 dart 應用都有一個 main() 函數。使用函數 print() 將文字輸出到控制檯。

進入代碼目錄,查看 hello.dart文件內容:

$ cd dart-dev/examples 
$ cat hello.dart 
// 第一個dart代碼
void main() {
  print('Hello, World!');
}

可以使用 dart hello.dart 執行代碼:


$ dart hello.dart 
Hello, World!

Dart預覽概覽

所有變量引用的都是 對象,每個對象都是一個 類 的實例。數字、函數以及 null 都是對象。所有的類都繼承於 Object 類。

儘管 Dart 是強類型語言,但是在聲明變量時指定類型是可選的,因爲 Dart 可以進行類型推斷。

Dart 支持泛型,比如 List(表示一組由 int 對象組成的列表)或 List(表示一組由任何類型對象組成的列表)。

Dart 沒有類似於 Java 那樣的 public、protected 和 private 成員訪問限定符。如果一個標識符以下劃線 (_) 開頭則表示該標識符在庫內是私有的。

代碼示例:

演示變量的定義,函數定義與調用等。

//  dart代碼
void main() {
  print('商品詳情: ');
  print('----------------');

  // 直接調用方法
  // getGoodsInfo('最新款iPhone藍色手機', 50, 8999.58);
  // getGoodsInfo('小米5G環繞屏概念手機', 80, 19999.22);

  // 定義變量,並傳遞參數
  String iPhoneName = "新款蘋果手機";  // 定義一個String類型
  int iPhoneStock = 50;  // 定義一個int類型
  double iPhonePrice = 8999.58; // 定義一個double類型

  // 調用返回,並賦值給一個變量 goods, 然後打印輸出
  var goods = getGoodsInfo(iPhoneName, iPhoneStock, iPhonePrice);

  print(goods); //輸出: {name: 新款蘋果手機, stock: 50, price: 8999.58, tags: {熱銷, 庫存緊張}}
}

// 定義一個函數,傳入商品的三個參數,然後返回一個對象
getGoodsInfo(String name, int stock, double price) {
  print('商品名稱: $name 商品庫存: $stock 商品價格: $price '); // 打印輸出到控制檯。
  
  // 定義一個Set變量,用來存儲商品標籤
  var tags = <String>{};
  tags.add('熱銷');
  if (stock >= 100) {
    tags.add('庫存充足');
  } else if (stock <= 0 ) {
    tags.add('庫存不足');
  } else {
    tags.add('庫存緊張');
  }  

  // 定義一個 Object 
  var item = {
    'name': name,
    'stock': stock,
    'price': price,
    'tags': tags
  };

  return item;
}

reference

https://dart.dev/get-dart
http://www.dartdoc.cn/guides/language/language-tour

[END]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章