Flutter | null 与 ()=>null
2021-10-13 本文已影响0人
无夜之星辰
先写个方法:
void _test1({@required VoidCallback callback}) {
callback();
}
然后调用:
- 代码1:
_test1(callback: null);
- 代码2:
_test1(callback: () => null);
结果是代码1崩溃但是代码2不会。
分析
_test1(callback: null);
这个地方,callback 是 null,调用 null 的方法,会抛出 NoSuchMethodError 异常。
_test1(callback: () => null);
这个地方,() => null 是一个 function,调用这个 function 会得到返回值:null。