相关疑难解决方法(0)

Dart - 使用Map命名参数

我想知道我是否可以使用地图调用具有名称参数的函数,例如

void main()
{
  Map a = {'m':'done'}; // Map with EXACTLY the same keys as slave named param.
  slave(a);
}
void slave({String m:'not done'}) //Here I should have some type control
{ 
  print(m); //should print done
}
Run Code Online (Sandbox Code Playgroud)

这里的黑客不是使用kwargs而是使用Map,或者,如果你关心类型,那么一些接口类(就像Json-obj一样),但只是让它接受map为kwars会不会更优雅?更多,使用这个hack,可选的kwargs可能会变成一种痛苦...恕我直言可能的实现,如果它还不存在,将是这样的:

slave(kwargs = a)
Run Code Online (Sandbox Code Playgroud)

例如,接受命名param的每个函数都可以默默地接受(Map)kwargs(或其他名称)参数,如果定义dart应该在引擎盖下处理这个逻辑:如果Map中的键完全是非可选的,加上{}括号中定义的一些可选项,以及兼容类型"继续".

dart

6
推荐指数
1
解决办法
1474
查看次数

展开运算符可以用于提供函数参数吗?

我正在编写扩展 statelessWidget 的类,它的构建方法返回Text()小部件。我需要将来自Map<dynamic, dynamic>. 为什么我不能spread像这样使用运算符

final Map textOptions;
final String text;

build(BuildContext context) {
    return Text(text, ...textOptions)
}
Run Code Online (Sandbox Code Playgroud)

dart flutter

3
推荐指数
2
解决办法
577
查看次数

标签 统计

dart ×2

flutter ×1