玩转 Flutter 之 Dart-运算符

玩转 Flutter 之 Dart-运算符

本文不适合小白与非 IT 相关人员阅读。


运算符

常用或常见运算符不做说明。

取模运算符

// ~/
2.2 ~/ 2 = 1; // 取除法后的整数
2.2 / 2 = 1.1; // 对比的除法
2.2 % 2 = 0.2; // 对比的取余

is, is! 类型检测

ina i = 2
print(i is int); // true
print(i is! String); // true

as 类型替换(相当于 is 某些场景的简写)

玩转 Flutter 之 Dart-运算符

// 有个 p 是 Person 的实例,Person 定义有 name 属性。
// 安全调用如下
if(p is Person) {
print(p.name);
}

// 使用 as
print((p as Person).name);

?? 相当于 JS 的 ||,不是逻辑或,前面内容为 null 时候,使用后面的值。

var a1 = null;
var a2 = 1;
print(a1); // null
print(a1 ?? 'a1'); // a1
print(a2); // 1
print(a1 ?? 'a2'); // 1

.. 级联运算符

// 连续调用上一个变量,比如 dart:html
querySelector('#test')
..text='test' // 调用的是上面的 DOM
..classes.add('important') // 调用的依然是上面的 DOM
// .. 无限下去调用上面的 DOM

?. 安全调用运算符

var a = null;
var b = Person(name: 'zwei');
print(a.name); // 报错,无法从 null 获取 name 属性
print(a?.name); // 不报错,打印 null
print(b.name); // zwei
print(b?.name); // zwei


下篇:变量。


分享到:


相關文章: