在Flutter中创建动态变量NAME

时间:2019-09-02 13:09:10

标签: flutter dart

我需要根据情况动态创建一个List变量。

我有一个字符串列表。这些是动态创建的。

List Categories = [name: 'String 1', name: 'String 2', name: 'String 3']

我需要动态创建一个可以容纳每个字符串的List变量。不要问我为什么,但是请相信我。

我需要这样的东西:

for(int i = 0 ; i < Categories.length ; i ++)
{
    // logic to create a variable of List type and even name it according to the value it is holding:
    List String1Var = Categories.[i].name

     // or even better : 

    List $Categories.[i].name = ....



 } 

因此String1Var必须命名为String1Var-即名称本身必须是动态的,内容也必须是动态的。

这可能会扑朔迷离吗?还是Google尚未提高其语言以使其适用于像我这样的人?

语法正确吗?如何动态创建变量名?

1 个答案:

答案 0 :(得分:0)

Map可以帮助您完成所需的工作。

我们不是生成单独的变量,而是生成动态keys并将其存储在values中,因为Dart没有动态变量的概念。

代码:

  final Map myCategoryDynamic = {};

  for(int i = 0 ; i < Categories.length ; i ++)
  {
// logic to create a variable of List type and even name it according to the value it is holding:
    myCategoryDynamic['String'+i.toString()+'Var'] = Categories.[i].name;

  }

因此,当我们需要检查值时-可以通过-m yCategoryDynamic[String1Var] myCategoryDynamic[String2Var]进行检查,依此类推...