首页 > 解决方案 > 什么是 Swift “扩展”的 dart 等价物?

问题描述

关键字/保留字extension通过使用标准框架中的现有类而不对它们进行子类化,可以使代码更加简洁。Dart 中是否有允许相同行为的关键字?

extension Double {
    var mm: Double { return self / 1_000.0 }
}

let oneInch = 25.4.mm
print("One inch is \(oneInch) meters")

标签: androidiosswiftdartflutter

解决方案


他们终于来了

从 dart 版本 2.6 开始(不是 100% 确定)。

class Foo {
  printFoo()  {
    print("Foo");
  }
}

extension Bar on Foo { 
  printBar()  {
    print("Bar");
  }
}

void main() {
  final foo = Foo();
  foo.printFoo();
  foo.printBar();
}

印刷:

酒吧

你可以在飞镖垫上试一试。


推荐阅读