gpt4 book ai didi

typedef - Dart 中的函数 typedef/函数类型别名是什么?

转载 作者:行者123 更新时间:2023-12-03 03:36:38 27 4
gpt4 key购买 nike

我已阅读说明,我明白它是一个函数类型别名。

但是我该如何使用它呢?为什么用函数类型声明字段?我什么时候使用它?它解决了什么问题?

我想我需要一两个真实的代码示例。

最佳答案

Dart 中 typedef 的常见使用模式是定义回调接口(interface)。例如:

typedef void LoggerOutputFunction(String msg);

class Logger {
LoggerOutputFunction out;
Logger() {
out = print;
}
void log(String msg) {
out(msg);
}
}

void timestampLoggerOutputFunction(String msg) {
String timeStamp = new Date.now().toString();
print('${timeStamp}: $msg');
}

void main() {
Logger l = new Logger();
l.log('Hello World');
l.out = timestampLoggerOutputFunction;
l.log('Hello World');
}

运行上述示例会产生以下输出:

Hello World
2012-09-22 10:19:15.139: Hello World

typedef 行表示 LoggerOutputFunction 采用 String 参数并返回 void。

timestampLoggerOutputFunction 与该定义匹配,因此可以分配给 out 字段。

如果您需要另一个示例,请告诉我。

关于typedef - Dart 中的函数 typedef/函数类型别名是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12545762/

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