flutter - 颤振:遍历列表
问题描述
我正在尝试遍历颜色列表。当循环到达末尾时,我希望它重新启动或转到列表的开头。有人可以帮助我吗?我是 Dart 的新手并且会颤抖。非常感激!!!提前致谢。
List<Color> color = ['Red', 'yellow', 'pink', 'blue'];
所以当它变成 blue 时,我希望它回到 Red 是可能的。请帮忙。
解决方案
作为一个选项:
void main() {
List<String> color = ['Red', 'yellow', 'pink', 'blue'];
for (int i = 0; i < 10; i++) {
print(color[i % color.length]);
}
}
或者您可以像这样为 List 编写扩展名:
void main() {
List<String> color = ['Red', 'yellow', 'pink', 'blue'];
for (int i = 0; i < 10; i++) {
print(color.getElement(i));
}
}
extension EndlessElements<T> on List<T> {
T getElement(int index) {
return this[index >= this.length ? index % this.length : index];
}
}
推荐阅读
- c++ - c++ 终止 std::logic 错误......我的代码哪里出错了?
- python - Python程序airnef不适用于佳能3000D
- amazon-web-services - Elastic Beanstalk 自签名 HTTPS 不起作用
- arrays - 分配结构数组,然后使用数组方法访问它会产生编译错误
- javascript - 如何将 8 位整数转换为十六进制颜色值?
- python - 如何在python中将字符串转换为json列表?
- amazon-web-services - 具有 ec2 完全访问权限的 IAM 策略不允许创建 EC2 实例
- swift - 调用我的包时,由于“内部”保护级别,无法访问“CircularProgressView”初始化程序
- linux - 关于此错误的问题:未在此范围内声明“bdget”
- c++ - 使用读写器方法的 C++ 中的多线程数据库半途而废