Dart 语言入门

函数

// 可选参数
void userSettings({int age = 0, String name = ""}) {
  print("name: $name age: $age");
}

// 必传参数
void requiredFunc({required int age, String name = ""}) {
  print("name: $name age: $age");
}

void main(List<String> args) {
  requiredFunc(age: 10);
}

异步编程 - Future

异步编程 — dart 单线程
与 Js Promise 类似, then 、async等
伪代码:

Future<int> future = getFuture();

future.then(value => handleValue())
  .catchError(error => handleError())
  .whenComplete() => handlerComplete()

数据类型

  • Number
  • String
  • Boolean
  • List
  • Map
  • Runes
  • Symbols
int number = 15;

// 类型:
//    Number
//    String
//    Boolean
//    List
//    Map
//    Runes
//    Symbols

var list = [1, 2, 3];
var list1 = const [1, 2, 3];

void printList(ele) {
  print(ele);
}

// 类型检测
void judge() {
  if (number is int) {
    print("is number.");
  } else {
    print("is not number.");
  }
}

// 级联赋值
void cascade() {
  String s = (new StringBuffer()
        ..write('a ')
        ..write('b ')
        ..write('c '))
      .toString();
  print(s);
}

void main() {
  cascade();
}

继承、实现、混入

继承顺序: mixins -> extends -> implements

class Cat {
  void show() {
    print("cat.");
  }
}

class Dog {
  void show() {
    print("dog.");
  }
}

class Owner {
  void show() {
    print("owner.");
  }
}

class Person1 extends Owner with Cat, Dog {
  // 重写继承的方法
  // void show() {
  //   print("person1.");
  // }

  // 继承顺序: mixins -> extends -> implements
}

class Person2 extends Owner with Cat implements Dog {}

void main(List<String> args) {
  Person2()..show();
}

posted @ 2023-09-30 09:38  辰梦starDream  阅读(9)  评论(0编辑  收藏  举报  来源