Mar*_*ong 4 android ios dart swift flutter
关键字/保留字extension通过使用标准框架中的现有类而无需对它们进行子类化,从而使代码更加简洁。Dart 中是否有允许相同行为的关键字?
extension Double {
var mm: Double { return self / 1_000.0 }
}
let oneInch = 25.4.mm
print("One inch is \(oneInch) meters")
Run Code Online (Sandbox Code Playgroud)
他们终于来了
从 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();
}
Run Code Online (Sandbox Code Playgroud)
印刷:
富
酒吧
你可以试试飞镖垫。
TL;DR:遗憾的是,Dart 不支持扩展方法。
在 Dart 存储库中,存在一个关于如何向现有类型添加新功能的问题。更具体地说,存在扩展方法和扩展类型的问题。
当然,您始终可以使用新的classesextend现有类在其之上引入新功能。然而,这只适用于非原始类,所以让我们期待最好的结果。您最好的办法可能是对上面链接的问题进行投票。
| 归档时间: |
|
| 查看次数: |
1153 次 |
| 最近记录: |