我正在阅读有关dart的内容,有人认为让我感到困惑的是匿名函数的语法.具体来说,如何为此类函数指定返回值的类型.
例如,请考虑以下事项:
var f = (int x) {return x + 1;};
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我声明参数的类型x是int.我怎么能明确地说该函数返回一个int?我知道编译器可能会使用类型推断来解决这个问题,但我想明确指定类型以防止在编写更复杂的函数时返回错误类型的值.
Mat*_*tia 10
你可以这样做:
int Function(int x) f = (int x) {return 1 + x;};
String Function(String x, String y) concatenate = (String x, String y) {return '$x$y';};
Run Code Online (Sandbox Code Playgroud)
编辑:这是一种使用类型转换的简单方法:
int f = (int x) {return x + 1;} as int;
Run Code Online (Sandbox Code Playgroud)
您可以像常规函数一样声明匿名的内联函数
int count(int a, int b) {
int innerThing(int c, int d) => c + d;
return innerThing(a, b);
}
Run Code Online (Sandbox Code Playgroud)
这可能会更容易.
| 归档时间: |
|
| 查看次数: |
2235 次 |
| 最近记录: |