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
Flutter 颤振(Dart)中的函数能否根据某些条件返回不同的数据类型_Flutter_Dart - Fatal编程技术网

Flutter 颤振(Dart)中的函数能否根据某些条件返回不同的数据类型

Flutter 颤振(Dart)中的函数能否根据某些条件返回不同的数据类型,flutter,dart,Flutter,Dart,例如,考虑伪代码 getResult(){ List lst=[1,"5",4]; String str="five"; if(condition){ return lst; } else{ return str; } } 在颤振中可以实现类似的功能。是的,在飞镖/颤振中可以实现类似的功能。顺便说一下,如果您声明bool条件,您的伪代码将起作用 例如: getResult()

例如,考虑伪代码

getResult(){
    List lst=[1,"5",4];
    String str="five";
    if(condition){
        return lst;
    }
    else{
        return str;
    }
}

在颤振中可以实现类似的功能。

是的,在飞镖/颤振中可以实现类似的功能。顺便说一下,如果您声明
bool条件,您的伪代码将起作用

例如:

getResult(){
    List lst=[1,"5",4];
    var str = 1;
    
    if(str.runtimeType == String){
      print(lst[1]);
    } else if(str.runtimeType == int){
      print('${lst[0]}, ${lst[2]}');
    }
  }

在本例中,输出将取决于变量str的类型。当然,您也可以使用其他类型来比较(double,bool)

是的,可以在dart/FLIFT中执行类似操作。顺便说一下,如果您声明
bool条件,您的伪代码将起作用

例如:

getResult(){
    List lst=[1,"5",4];
    var str = 1;
    
    if(str.runtimeType == String){
      print(lst[1]);
    } else if(str.runtimeType == int){
      print('${lst[0]}, ${lst[2]}');
    }
  }

在本例中,输出将取决于变量str的类型。当然,您也可以使用其他类型进行比较(double,bool)

问题的答案是肯定的。您可以将函数定义为返回
dynamic
,并返回所需的任何类型


你应该那样做吗?可能不会。研究如何创建联合类型。Dart中内置的联合类型是可以表示未来或已解析类型的类。这个包可以帮助生成联合类型,而不需要太多麻烦。

这个问题的答案是肯定的。您可以将函数定义为返回
dynamic
,并返回所需的任何类型


你应该那样做吗?可能不会。研究如何创建联合类型。Dart中内置的联合类型是可以表示未来或已解析类型的类。该软件包可以帮助生成联合类型而无需太多麻烦。

您自己尝试过吗?没有。。。因为我需要在函数名之前指定它将返回的类型,所以我不知道我将在哪个类型上指示字符串或列表,例如:string func(){}您自己尝试过吗?没有。。。因为我需要在函数名之前指定它将返回的类型,所以我不知道我将在哪个类型上指示字符串或列表,例如:string func(){}您能告诉我这样的函数的定义在真实的dart代码中是什么样子的吗?我将它添加到了答案中,看一看。您的代码将打印输出。。但是我想得到输出并在其他计算中使用。你可以用return替换打印。你能告诉我这样的函数的定义在真实的dart代码中是什么样子吗?我把它添加到了答案中,看一下。你的代码将打印输出。。但是我想得到输出并在其他计算中使用,你可以用return替换打印