Dart 语法(二)

2021-06-29  本文已影响0人  一个栗

Dart 在线编辑器 https://dartpad.dev/?null_safety=true

main()

在 Dart 中,每个 app 都必须有一个顶级的 main() 函数作为应用程序的入口点。

void main() {
  for (int i = 0; i < 5; i++) {
    print('hello ${i + 1}');
  }
}

运行结果如下:
hello 1
hello 2
hello 3
hello 4
hello 5

控制台输出 - print:

print('hello world');

变量

Dart 是类型安全的,它使用静态类型检查和运行时的组合,检查以确保变量的值始终与变量的静态之匹配类型。尽管类型是必须的,但某些类型注释是可选的,因为 Dart 会执行类型推断。

创建和分配变量

在 Dart 中,变量必须是明确的类型或者系统能够解析的类型。

String name = 'dart';
var otherName = 'Dart';
print(name);
print (otherName);

默认值

在 Dart 中,未初始化的变量的初始值为 null
数字在 Dart 中也被当成对象,所以只要是带有数字类型的未初始化变量的值都是“null”

检查 null 或零

在 Dart 中,1 或任何非 null 对象的值被视为 true。

var myNull = null;
if(myNull == null) {
   print('use "== null" to check null');
}
var zero = 0;
if(zero == 0) {
   print('use "== 0" to check null');
}

运行结果如下:
use "== null" to check null
use "== 0" to check null

Dart null 检查最佳实践

从 Dart 1.12开始,null-aware 运算符可以帮助我们做 null 检查。

null-aware

函数

bool fn() {
  return true;
}

异步编程

Dart 支持单线程执行,使用 Future 来表示异步操作。

_getInAddress() {
  final url = 'https://httpbin.org/ip';
  HttpRequest.request(url).then((value) {
    print(json.decode(value.responseText)['origin']);
  }).catchError(error) => print(error);
}

async 和 await

在 Dart 中,async 函数返回一个 Future,函数的主体是稍后执行。await 运算符用于等待 Future。

上一篇 下一篇

猜你喜欢

热点阅读