dart 有一套本身定义的操做符:
这里我就再也不写了,直接copy一份官网的。java
若是有过编程基础,上边展现的操做符应该都不陌生.编程
加: + 减: - 乘: * 除: / 取余: % 取模: ~/ 自增: ++var, var++ 自减: --var, var--
==: 等于 !=: 不等 >: 大于 <: 小于 >=: 大于等于 <=: 小于等于
as: 类型转换 is: 判断是不是某种类型 is!: 判断是否不是某种类型
=: 赋值 ??: 判断是否是null,若是是null,进行赋值 var a = 3; var b; b ??= a;(若是b是null,把a赋值给b) *=: a *= 3; ==> a = a * 3; +=: a += 3; ==> a = a + 3; ...
赋值操做符很简单就不一一说了。app
&&: 逻辑与 ||: 逻辑非 !: 非
&: 与 |: 或 ^: 异或 <<: 左移 >>: 右移
var a = 1 ? true:false; int getNum(int a) => a ?? 3; 若是 a == null,返回3,不然返回as
..
首先说下什么是级联操做符,java中有个词叫链式编程,好比:ui
StringBuilder() sb = new StringBuilder(); sb.append('a').append('b').toString();
级联和链式在外表上看上去很像。3d
querySelector('#button') ..text = 'Confirm' ..classes.add('important') ..onClick.listen((e) => window.alert('Confirmed!'));
不须要频繁的建立对象,建立一个button的对象后,后续的对属性的修改和方法的调用操做都是针对这个对象来讲。
猜想这个特性,会在编写服务和应用的时候对于连续操做的场景会大量使用。code