gpt4 book ai didi

dart - curry 函数的类型签名

转载 作者:行者123 更新时间:2023-12-03 04:12:00 28 4
gpt4 key购买 nike

如何在Dart中为 curry 函数添加类型签名?

在此示例中,我想在此处将Function(int) => Function(int) => String type签名添加到函数f中:

void main() {
Function f = (int a) => (int b) => "$a + $b";
}

最佳答案

您可以使用ReturnType Function(ParamType paramName)之类的语法作为函数的类型。

在您的情况下:

void main() {
String Function(int) Function(int) f = (int a) => (int b) => "$a + $b";
}

如果需要在多个地方使用此类型,也可以使用 typedef
typedef MyFunction = String Function(int) Function(int);
void main() {
MyFunction f = (int a) => (int b) => "$a + $b";
}

请注意,您可以省略lambda中的类型,因为使用类型化函数,推理可以知道参数是ints。
typedef MyFunction = String Function(int) Function(int);
void main() {
String Function(int) Function(int) f1 = (a) => (b) => "$a + $b";
MyFunction f2 = (a) => (b) => "$a + $b";
}

关于dart - curry 函数的类型签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52548171/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com