Dart语言基础二

下面列举 dart 中的相关类型判断操作符号

操作符说明使用
as类型转换(person as Person).name;
is判断是否为某一类型person is Person ? person.name : 'leevare';
is!判断是否不是某一类型与上面is正好相反

关于 dart 中函数的可选参数,有两种不同的形式,一种是可选命名参数,还有一种是可选位置参数

可选命名参数

使用{}包裹参数。顾名思义,命名参数在传递的时候要传递其名称,所以为key: value的形式。

void sayHello(String name, {String msg, String time}) {
    print(name + ' say ' + msg + ' at ' + time);
}

sayHello('leevare', {msg: 'Hello', time: '7:00'});
// 输出:leevare say Hello at 7:00
sayHello('leevare', {msg: 'Hello'});
// 输出:leevare say Hello at

在参数上还可以添加@required,表示必传参数。

void sayHello(String name, @required String msg) {
    // ...
}

可选位置参数

使用[]包裹的参数,表示的是可选位置参数。它的参数与参数所在位置一一对应,与命名参数不同的是,在传递参数的时候,就不用指定名称了。

void sayHello(String name, [String msg, String time]) {
    print(name + ' say ' + msg + ' at ' + time);
}

sayHello('leevare', 'Hello', '7:00');
// 输出:leevare say Hello at 7:00
sayHello('leevare', 'Hello');
// 输出:leevare say Hello at

不管是命名参数还是位置参数,都可以给可选参数设置默认值,通过=进行赋值。

void sayHello(String name, [String msg = 'Hello', String time]) {
    // ...
}

void sayWorld(String name, {String msg = 'world', String time}) {
    // ...
}
如果您觉得本文对您有用,欢迎捐赠或留言~
微信支付
支付宝

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注