2
Dart有没有在函数中打包/解压参数的方法(例如Python)?Dart中的打包/解包参数
对于包装例如,能够宣布这样的功能:
packArguments(*listOfArguments, **mapOfArguments) {
listOfArguments.forEach((arg) => print(arg));
mapOfArguments.forEach((key, val) => print("$key => $val"));
}
,然后做这个:
packArguments("I", "Put", "whatever", "I", "want, arg1: "A", arg2: 1);
会显示:
I
Put
whatever
I
want
arg1 => A
arg2 => 1
至于拆包,能够做这样的事情:
functionWithLotOfArgument(a, b, c, d, e, {aa, bb = null, cc = null}) {
// do stuff
}
var argList = [1, 2, 3, 4, 5];
var argMap = {"aa": "haha", bb: "baby"};
functionWithLotOfArgument(*argList, **argMap);
相关问题https://github.com/dart-lang/sdk/issues/29087
目前不支持。 –
“目前”意味着它的计划?这个功能真的很棒,特别是在使用Flutter方法可以有很多参数的情况下。 – aelayeb
我不认为这是计划中的,但他们正在研究更广泛的变化,稍后可能会考虑这样的变化。你可以检查问题https://github.com/dart-lang/sdk/issues。我想大多数人能够想到的功能至少已经提出过一次了;-) –