匿名函数
定义匿名函数,并将其赋值给一个变量func,注意,函数体最后的花括号处必须有分号结束。
var fuc = (x,y){
return x + y;
};
//print(func(10,11));
=>21
箭头函数
add(num x,num y){
return x + y;
}
//print(add(18,12));
=>30
//与上面的普通函数完全等价
//add(num x,num y) => x+y;
//print(add(18,12));
=>30
匿名箭头函数
箭头函数可以与匿名函数结合,形成匿名箭头函数
var func = (num x,num y) => x + y;
在Dart中也支持三目表达式,除此之外Dart还增加了非空条件判断符??
三目表达式
condition ? expr1 : expr2
非空条件判断符
//expr1 ?? expr2
var str1 = "hello";
var str2 = "world";
var result = str1 ?? str1.toUpperCase();
级联运算符
级联运算符可以在同一个对象上连续调用多个方法以及访问成员变量。
//new Person()..setName("Bob")..setAge(20)..save();
条件成员访问符
?.
List list;
//list默认值为null
print(list1?.length);
=>null
List list2 = [];
print(list2?.length);
=>0
条件分支
if...else
main(List<String> args){
var i = 0;
if(i < 0){
print('i<0');
}else if(i == 0){
print('i = 0');
}else {
print('i > 0');
}
}
switch
在switch的case中可以使用整数、字符串、枚举类型和编译时常量
String command = 'OPEN';
switch (command){
case 'CLOSED';
break;
case 'OPEN';
break;
default:
print('Default');
}