用户登录

之前我们定义 log 函数的时候,给它设置的参数是带顺序的参数,也就是在执行这个函数的时候,要按顺序提供它的参数的值,比如这里第一个参数是给 message 准备的值,第二个参数是给 prefix 准备的值。

我们也可以在定义函数的时候使用有名字的参数,这样在执行函数提供参数值的时候,可以不用考虑参数的顺序,要使用参数的名字设置参数的值。

注释掉这个 log 函数,复制一份,再改造一下。

设置有名字的参数,可以把函数的参数放在一组大括号里。这样 log 函数就支持两个带名字的参数,一个是 message,一个是 prefix。

这里编辑器提示了一个错误,The parameter 'message' can't have a value of 'null' because of its type。

意思就是,message 这个参数的值不能是 null,因为我们把它的类型设置成了 String,所以它的值就不能是 null。 如果想要允许这个参数值可以是 null,我们可以在这个参数类型的后面加上一个 ? 号。

这样如果执行这个函数,不提供 message 参数的值,它的值就会是 null。

或者如果我们规定使用 log 函数的时候必须要提供 message 参数的值,可以用 required 修饰符修饰一下,把这个 required 放在参数类型的前面。

后面这个 prefix 参数允许它的值是 null,在类型的后面加上一个 ? 号。

现在执行 log 函数设置参数值的时候要写清楚参数的名字,比如 message ,后面是冒号,冒号的右边是参数的值。然后是 prefix 这个参数。

因为 log 函数支持的是有名字的参数,所以设置参数值的时候,这个参数的顺序就不重要了,比如我们可以把这个 prefix 参数放在前面。

再设置一下,下面这个 log 函数的参数值,一个是 message,还有一个参数叫 prefix。 运行一下应用,输出的结果跟之前是一样的。

Dart 语言:有名字的参数《 Dart 语言:函数 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点