外部关键字目前仅由平台库使用.它允许dart2js和Dart VM使用相同的库,只有某些功能专用于该平台.它不是您可以用于自己的库的东西,它只在内部使用.
外部关键字已添加到语言中,以便平台库可以执行此操作,并且仍然是有效的Dart代码.
它在平台库中的使用方式是可以将方法标记为external.然后它没有正文(如抽象方法),但编译器或运行时必须提供实现.外部方法的示例:
class Foo {
external int bar(int x);
}
Run Code Online (Sandbox Code Playgroud)
然后dartj和VM都有自己的补丁文件,提供实际的实现.示例(dart2js格式):
@patch class Foo {
@patch int bar(int x) => somethingMagical(x);
}
Run Code Online (Sandbox Code Playgroud)
神奇的部分可以自由使用平台特定的功能(如纯JS代码或本机VM功能).
| 归档时间: |
|
| 查看次数: |
463 次 |
| 最近记录: |