Dart语言基础二

该文章由 leevare 发布于 ,归类于 Flutter

下面列举 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}) {
    // ...
}

如果觉得我的文章对您有用,请您随意打赏。您的支持将鼓励我更加努力创作!

相关文章:

说点什么

avatar
300
  Subscribe  
提醒