![](/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.