gpt4 book ai didi

flutter - 如何最好地在 for-in 循环中进行空检查?

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

在“for-in”循环中检查 Iterable 是否为空的最佳方法是什么?在 forEach 循环中,您可以简单地执行以下操作:

people?.forEach((person) {
print(person.name);
});
?.将确保循环仅在 people 时运行不为空。是否也可以在“for-in”循环中以一种很好的方式做到这一点?或者你需要做这样的事情:
if (people != null) {
for (person in people) {
print(person.name);
}
}

请注意,我仅使用 print 作为示例,循环中完成的实际工作会更复杂,我想完全避免 forEach 循环。

似乎应该有更好的方法,但我找不到任何好的例子。

最佳答案

也许 .forEach() 中的方法引用会为您解决问题?

void main() {
people?.forEach(expensiveFuction);
}

void expensiveFuction(Person p) {
print(p.name);
}

编辑:如果 people 为空,另一种解决方案可能是提供一个空列表:
for (var p in people ?? []) {
print(p.name);
}

如果人们的计算结果为 null,则将使用空列表并且不会运行任何迭代。

关于flutter - 如何最好地在 for-in 循环中进行空检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59416097/

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