![](/img/trans.png)
[英]What meaning "<Widget>[~]" in dart? arrow brackets with list brackets(flutter)
[英]What are the brackets in constructor in dart
@immutable
abstract class MyGithubReposState extends Equatable {
MyGithubReposState([List props = const []]) : super(props);
}
我在我使用的庫之一中看到了上面的代碼。 [List props = const []]
是什么意思? 道具清單一覽?
這是可選參數,如下所述。
首先列出必需的參數,然后是任何可選參數。 可選參數可以是命名的或位置的。
命名參數
調用函數時,您可以使用 paramName: value 指定命名參數。 例如:
這是函數調用
enableFlags(bold: true, hidden: false);
定義函數時,使用 {param1, param2, ...} 指定命名參數:
這就是我們定義它們的方式
/// Sets the [bold] and [hidden] flags ...
void enableFlags({bool bold, bool hidden}) {...}
位置參數
在 [] 中包裝一組函數參數將它們標記為可選的位置參數:
String say(String from, String msg, [String device]) {
var result = '$from says $msg';
if (device != null) {
result = '$result with a $device';
}
return result;
}
這樣我們就可以通過兩種方式調用這個函數
沒有可選的位置參數
say('Bob', 'Howdy')
帶有可選的位置參數
say('Bob', 'Howdy', 'smoke signal')
[within this is optional]
表示這些參數是可選的
從官方文檔,
在 [] 中包裝一組函數參數將它們標記為可選的位置參數
String say(String from, String msg, [String device]) {
var result = '$from says $msg';
if (device != null) {
result = '$result with a $device';
}
return result;
}
以下是不帶可選參數調用此函數的示例:
assert(say('Bob', 'Howdy') == 'Bob says Howdy');
這是使用第三個參數調用此函數的示例:
assert(say('Bob', 'Howdy', 'smoke signal') ==
'Bob says Howdy with a smoke signal');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.