• 赚钱入口【需求资源】限时招募流量主、渠道主,站长合作;【合作模式】CPS长期分成,一次推广永久有收益。主动打款,不扣量;

Dart extension

Flutter cps12345 1年前 (2020-08-31) 303次浏览 0个评论

Dart 的 extension 使用

官方关于 Dart extension 的说明: official video by the Flutter team

Static extension members

下面是一个简单的 extension 示例:

extension FancyNum on num {
  num plus(num other) => this + other;

  num times(num other) => this * other;
}

通过 extension 了 num 的 + 和 * 方法

print(5.plus(3)); // Equal to "5 + 3".
print(5.times(8)); // Equal to "5 * 8".
print(2.plus(1).times(3));// Equal to "(2 + 1) * 3".

FancyNum是可省略的,像下面的写法也没有问题

extension on num {}

当你在其他 dart 文件中使用你写的 extensio 时,必须指定名字:

 

print(FancyNum(1).plus(2));

Flex childCount

当想要通过 extension 获取 Row 或者 Column 的 ChildCount 时候,可以通过 extension 他们的父类 Flex 来实现:

extension ExtendedFlex on Flex {
  int get childCount => this.children.length;
}

this. 是可以被省略的, => children.length 也是正确的写法

喜欢 (0)

您必须 登录 才能发表评论!