如何确定该柯里化函数的精确返回类型?
关于柯里化函数的精确返回类型
你的函数是三层柯里化结构,在Dart中它的精确返回类型是:int Function(int) Function(int) Function(int)
类型拆解说明:
- 最内层函数:接受一个
int参数c,返回int类型结果,类型为int Function(int) - 中间层函数:接受一个
int参数b,返回上述最内层函数,类型为int Function(int) Function(int) - 最外层的
addition函数:接受一个int参数a,返回中间层函数,因此整体类型就是int Function(int) Function(int) Function(int)
显式指定类型的写法
如果不想让函数返回dynamic,可以显式声明返回类型,让类型系统正确推导:
int Function(int) Function(int) Function(int) addition(int a) => (int b) => (int c) => a + b + c;
内容的提问来源于stack exchange,提问作者Balaji
相关产品推荐
相关产品推荐

