【发布时间】:2021-05-26 09:06:58
【问题描述】:
var callbacks = [];
for (var i = 0; i < 2; i++) {
callbacks.add(() => print(i));
}
callbacks.forEach((c) => c());
我不明白两件事:
-
print(i) 的返回类型为 Void,编译器不应该显示“错误”,因为 print(i) 的工作是将项目打印到控制台而不返回任何内容。
-
在“callbacks.forEach((c) => c());”这一行中,c() 是如何变成一个函数的,因为它是 lambda 函数内部用于获取值的参数。
代码链接: https://dart.dev/guides/language/language-tour#type-test-operators 在 for 循环下
PS:我是这种语法的初学者,非常感谢你们的帮助!
【问题讨论】:
-
是特定类型的 i 的值,总是存储在列表中,回调列表 - [print(0), print(1)],谢谢。