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。我想大多數人能夠想到的功能至少已經提出過一次了;-) –