Dart语法现象

386 阅读1分钟
  1. 闭包
assert(() {
        if (debugPrintHitTestResults)
          debugPrint('$event: $hitTestResult');
        return true;
      }());
  1. external factory
external:指由外部的包来实现该方法,常用于区分跨平台实现
factory:工厂方法,指该方法返回对象,但不一定会实例化,该对象可能出自缓存或子类.

external factory Float64List(int length);
  1. putIfAbsent
  Map<String, int> scores = {'Bob': 36};
  for (var key in ['Bob', 'Rohan', 'Sophena']) {
    scores.putIfAbsent(key, () => key.length);
  }
  print('scores Bob:' + scores['Bob'].toString()); //36
  print('scores Rohan:' + scores['Rohan'].toString());//5
  print('scores Sophena:' + scores['Sophena'].toString());//7