1 常规运算符

不再赘述

2 赋值运算符

(1) ??=

  1. void main(List<String> args) {
  2. var name = null;
  3. name ??= "kobe"; // 原来的变量有值时, ??=不执行赋值操作
  4. print(name); // kobe
  5. }

(2) ??

  1. void main(List<String> args) {
  2. var name = "why";
  3. var temp = name ?? "lilei"; // 三目运算符精简写法
  4. print(temp);
  5. }

3 级联运算符

  1. void main(List<String> args) {
  2. // 普通调用
  3. var p = Person();
  4. p.name = "why";
  5. p.run();
  6. p.eat();
  7. // 级联调用
  8. var p2 = Person()
  9. ..name = "ws"
  10. ..eat()
  11. ..run();
  12. }
  13. class Person {
  14. late String name;
  15. void run() {
  16. print("running");
  17. }
  18. void eat() {
  19. print("eating");
  20. }
  21. }