Flutter 通过dart上的循环生成列表
我想为我的应用程序在dart中创建一个颜色列表,但由于我不希望这个列表太大,我想知道是否有一种方法可以在特定条件下生成一个列表。清单如下:Flutter 通过dart上的循环生成列表,flutter,dart,Flutter,Dart,我想为我的应用程序在dart中创建一个颜色列表,但由于我不希望这个列表太大,我想知道是否有一种方法可以在特定条件下生成一个列表。清单如下: List dateColors = [ Colors.white, Colors.white, Colors.white, Colors.white, Colors.white, Colors.white, Colors.white, Colors.white, Colors.white
List dateColors = [
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white,
Colors.white
];
有趣的是,你在这里提到了关键词:
generate
。这是您要查找的列表
类型的构造函数
List.generate(3,(int-index)=>index*index);//[0, 1, 4]
检查此构造函数的详细信息
在您的例子中,您可以放弃generate
构造函数提供给您的索引,以构建一个由重复的相同对象组成的列表。把这个片段作为一个例子,可以满足你的需求
导入“包装:颤振/材料.省道”;
void main(){
最终颜色=List.generate(20,())=>colors.white);
印刷品(颜色);
//打印[颜色(0xFFFFFF),…,颜色(0xffffffff)],总共20种颜色。白色。
}
您可以看到,它打印了20个
颜色的列表,它们都是白色的。有趣的是,您在这里提到了关键词:生成
。这是您要查找的列表
类型的构造函数
List.generate(3,(int-index)=>index*index);//[0, 1, 4]
检查此构造函数的详细信息
在您的例子中,您可以放弃generate
构造函数提供给您的索引,以构建一个由重复的相同对象组成的列表。把这个片段作为一个例子,可以满足你的需求
导入“包装:颤振/材料.省道”;
void main(){
最终颜色=List.generate(20,())=>colors.white);
印刷品(颜色);
//打印[颜色(0xFFFFFF),…,颜色(0xffffffff)],总共20种颜色。白色。
}
您可以看到,它打印了一个包含20种颜色的列表,所有颜色都是白色。如果您想用相同的值填充列表
,请使用填充
:
导入“包装:颤振/材料.省道”;
void main(){
最终日期颜色=列表。填充(31,颜色。白色);
打印(日期颜色);
//[颜色(0xFFFFFF),…,颜色(0xFFFFFF)],总共31种颜色。白色。
}
如果您想用相同的值填充列表
,请使用filled
:
导入“包装:颤振/材料.省道”;
void main(){
最终日期颜色=列表。填充(31,颜色。白色);
打印(日期颜色);
//[颜色(0xFFFFFF),…,颜色(0xFFFFFF)],总共31种颜色。白色。
}
那么我的情况会是怎样的呢<代码>列表.generate(31,(颜色i)=>i=Colors.white)代码>?您的路径正确,但您建议的行不起作用,因为generate
将为您提供类型为int
的索引,而不是颜色。我应该建立一个与你的问题更相关的例子。考虑一下我添加到我编辑的答案中的例子,希望它符合你的需要。那么我的情况会怎样呢?代码>列表.generate(31,(颜色i)=>i=Colors.white)代码>?您的路径正确,但您建议的行不起作用,因为generate
将为您提供类型为int
的索引,而不是颜色。我应该建立一个与你的问题更相关的例子。考虑我添加到我编辑的答案中的例子,希望它符合你的需要。