【发布时间】:2021-11-05 02:53:50
【问题描述】:
List<int> getNumbers() {
List<int> numbers = [];
for (int i = 0; i < 100; i++) {
numbers.add(i);
}
return numbers;
}
我想返回一个整数列表,但列表本身是使用循环生成的,那么有没有办法直接返回循环的值而不创建另一个列表来存储每次迭代的值?
【问题讨论】:
-
如果要返回多个值,则需要以某种方式存储它们。因此,要一次将它们全部归还,您需要将它们存储在某种集合中(通常是
List)。如果您希望一次懒惰地返回一个值并让调用者请求下一个值,您可以使用generator function。 -
如果用例确实是您编写的,您可以使用
return list.generate(100, (index) => index);并为自己保存 for 循环,但您无法保存列表。