gpt4 book ai didi

dart - 小部件属性的颤动匿名/内联函数

转载 作者:行者123 更新时间:2023-12-05 02:06:15 35 4
gpt4 key购买 nike

我是 dart 和 flutter 的新手,我正在尝试使用内联函数返回一个值。

SizedBox(
height: _getheight()
),

double _getheight(){
//do some stuff
return 20.0;
}
//WORKS
SizedBox(
height: (){return 20.0;}
),
//(Won't build)

错误:无法将参数类型“double Function()”分配给参数类型“double”。

SizedBox(
height: (){return 20.0;} as double
),

--构建但在运行时失败错误:类型 '() => double' 不是类型转换中类型 'double' 的子类型

最佳答案

heightdouble 类型的值。在您的第一个示例中,您正在执行 _getheight(),然后将执行结果作为名为 height 的参数给出。

在你的第二个例子中,你试图给 height 一个函数作为参数(类型为 double Function()),这是不允许的,因为 height 被定义为采用 double

然后你可以这样做:

SizedBox(
height: (){return 20.0;}()
),

这将执行该方法(参见最后一个 ())并将返回值用作 height 的参数。

关于dart - 小部件属性的颤动匿名/内联函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62834933/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com