操作符
| 描述 | 操作符 |
| 一元后置操作符 | expr++ expr-- () [] . ?. |
| 一元前置操作符 | -expr !expr ~expr ++expr --expr |
| 乘除 | * / % ~/ |
| 加减 | + - |
| 移位操作符 | << >> |
| 按位与 | & |
| 按位异或 | ^ |
| 按位或 | | |
| 关系和类型判断 | >= > <= < as is is! |
| 是否相等 | == != |
| 逻辑与 | && |
| 逻辑或 | || |
| 是否为null | ?? |
| 三元表达式 | expr1 ? expr2 : expr3 |
| 级联操作符 | .. |
| 赋值符号 | = *= /= ~/= %= += -= <<= >>= &= ^= |= ??= |
1、as与is,都可以用来判断类型,is会返回true或false,as检测的类型不正确时会抛出异常
if (emp is Person) {
// Type check
emp.firstName = 'Bob';
}
(emp as Person).firstName = 'Bob'; //跟上面的效果相同
var str = "sdsdw";
(str as int); //抛出异常
赋值符号
a = 23; //直接赋值
b ??= 12; //如果b的值为null则赋值
级联操作符(..),允许你在一个对象上使用一系列的操作符
void main() {
var p = Person()
..name = "six"
..age = 24
..say();
}
class Person {
String name;
int age;
say() {}
}
本文全面解析了达特语言中的各类操作符,包括一元、二元、位运算符,逻辑运算符,类型判断,赋值运算符等,详细介绍了每种操作符的用法及特点,如as与is的类型判断区别,级联操作符的使用场景等。
3780

被折叠的 条评论
为什么被折叠?



