Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 变量的名称是重复的,必须有某种方法来减少代码_Flutter_Dart - Fatal编程技术网

Flutter 变量的名称是重复的,必须有某种方法来减少代码

Flutter 变量的名称是重复的,必须有某种方法来减少代码,flutter,dart,Flutter,Dart,这能减少吗? 我想一定有办法。 无论如何 switch (i) { case 1: clicked1 = true; break; case 2: clicked2 = true; break; case 3: clicked3 = true; break; case 4: clicked4 = true; break;

这能减少吗? 我想一定有办法。 无论如何

switch (i) {
      case 1:
        clicked1 = true;
        break;
      case 2:
        clicked2 = true;
        break;
      case 3:
        clicked3 = true;
        break;
      case 4:
        clicked4 = true;
        break;
    }

一个一个地检查一下怎么样

bool clicked1 = i == 1;
bool clicked2 = i == 2;
bool clicked3 = i == 3;
bool clicked4 = i == 4;

考虑列一份清单:

List<bool> clicked = [false, false, false, false] // Fixed list of size 4
// use new List() if unknown size
您还可以切换,而不仅仅是设置为true:

void toggle(int i){
clicked[i-1] = !clicked[i-1];
}

我对dart一无所知,但我猜它有数组类型……为什么不列出单击列表而不是单独的变量呢?一个可能的选择是改变职业。例如,不用编程,而是烤蛋糕。有没有像(单击+i)这样的方法?
void toggle(int i){
clicked[i-1] = !clicked[i-1];
}