dart(二)--函数、操作符、异常dart(二)--函数、操作符、异常

2021-08-09 13:36:58 浏览数 (1)

函数

dart中万物皆对象,函数也是一个对象

代码语言:javascript复制
bool isNoble(int iNumber, String str='str'){  //普通函数,有参数、有返回值(若不指定表示返回值类型则为:dynamic);参数可以指定默认值
    return iNumber != null;
}

bool isNoble => return iNumber != null; //箭头函数,有且只能有一个表达式

isNoble(iNumber:1,String:'ssd');    //调用

void foo() {}   //无参数,无返回值

闭包

代码语言:javascript复制
Function makeAdd(num addBy) {       //返回一个闭包
    return (num i) => addBy   i;
}

print(makeAdd(1).runtimeType);   //输出:(num) => num
var fuc = makeAdd(1);
var fucc = makeAdd(2);
print(fucc(2));    //输出:3
print(fucc(2));    //输出:4

操作符

代码语言:javascript复制
~/ //整除
as //用于类型转换
~ii //~按位取反
??= //null赋值,a ??= 1 ,只有a等于null的时候才会被赋值为1.

级联调用 ..

代码语言:javascript复制
var sb = StringBuffer();
sb..write('foo')..write('foo');
sb.write('foo').write('foo');   //不成立且报错

异常

try catch,throw,rethrow,,finally

代码语言:javascript复制
void foo() {throw UnimplementedError();}

try{
    foo();    
}on UnimplementedError catch(e){    //捕获特定的异常
    
}catch(e,s){    //收集所有异常,参数s:调用栈 参数e:异常
    
}

0 人点赞