【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]

你可能感兴趣的:(Web开发)