Dart 对于按省道顺序排列的循环

Dart 对于按省道顺序排列的循环,dart,for-in-loop,Dart,For In Loop,如果我在一些列表上使用for in圈入省道,迭代是否保证顺序正确?e、 g.是否执行以下代码 List bars = getSomeListOfBars(); for(bar in bars){ foo(bar); } 以与以下完全相同的方式 List bars = getSomeListOfBars(); for(int i=0;i<bars.length;i++){ foo(bar[i]); } List bar=getSomeListOfBars(); for

如果我在一些
列表
上使用
for in
圈入省道,迭代是否保证顺序正确?e、 g.是否执行以下代码

List bars = getSomeListOfBars();

for(bar in bars){
    foo(bar);
}
以与以下完全相同的方式

List bars = getSomeListOfBars();

for(int i=0;i<bars.length;i++){
    foo(bar[i]);
}
List bar=getSomeListOfBars();

for(int i=0;i如果对保证迭代顺序的集合使用
for(x in y)
,那么
for(x in y)
保证按此顺序迭代。如果集合本身不保证顺序,那么当然
for(x in y)
也不一样。

完全正确,
列表
类保证以递增的索引顺序进行迭代。这是来自DLS的吗?什么是DLS?很抱歉有歧义。我指的是Dart语言规范。这只是“相同iterable的迭代器应以相同的顺序提供相同的值”的语法糖分