美文网首页
Dart语法 -- [04 - 运算符]

Dart语法 -- [04 - 运算符]

作者: happy神悦 | 来源:发表于2020-11-05 10:55 被阅读0次

1.1. 除法、整除、取模运算

我们来看一下除法、整除、取模运算

var num = 7;
print(num / 3); // 除法操作, 结果2.3333..
print(num ~/ 3); // 整除操作, 结果2;
print(num % 3); // 取模操作, 结果1;

1.2. ??=赋值操作

dart有一个很多语言都不具备的赋值运算符:

  • 当变量为null时,使用后面的内容进行赋值。
  • 当变量有值时,使用自己原来的值。
main(List<String> args) {
  var name1 = 'coderwhy';
  print(name1);
  // var name2 = 'kobe';
  var name2 = null;
  name2 ??= 'james'; 
  print(name2); // 当name2初始化为kobe时,结果为kobe,当初始化为null时,赋值了james
}

1.3. 条件运算符:

Dart中包含一直比较特殊的条件运算符:expr1 ?? expr2

  • 如果expr1是null,则返回expr2的结果;
  • 如果expr1不是null,直接使用expr1的结果。
var temp = 'why';
var temp = null;
var name = temp ?? 'kobe';
print(name);

1.4. 级联语法:..

  • 某些时候,我们希望对一个对象进行连续的操作,这个时候可以使用级联语法
class Person {
  String name;

  void run() {
    print("${name} is running");
  }

  void eat() {
    print("${name} is eating");
  }

  void swim() {
    print("${name} is swimming");
  }
}

main(List<String> args) {
  final p1 = Person();
  p1.name = 'why';
  p1.run();
  p1.eat();
  p1.swim();

  final p2 = Person()
              ..name = "why"
              ..run()
              ..eat()
              ..swim();
}

相关文章

网友评论

      本文标题:Dart语法 -- [04 - 运算符]

      本文链接:https://www.haomeiwen.com/subject/cghivktx.html