Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart中的patch关键字是做什么的?_Dart - Fatal编程技术网

Dart中的patch关键字是做什么的?

Dart中的patch关键字是做什么的?,dart,Dart,有人能解释一下补丁关键字的作用吗?例如,在 math\u patch.dart我明白了 patch num pow(num x, num exponent) => MathNatives.pow(x, exponent); patch double atan2(num a, num b) => MathNatives.atan2(a, b); patch double sin(num x) => MathNatives.sin(x); patch double cos(num

有人能解释一下补丁关键字的作用吗?例如,在
math\u patch.dart
我明白了

patch num pow(num x, num exponent) => MathNatives.pow(x, exponent);
patch double atan2(num a, num b) => MathNatives.atan2(a, b);
patch double sin(num x) => MathNatives.sin(x);
patch double cos(num x) => MathNatives.cos(x);

这是什么意思?补丁.dart文件的作用是什么?

补丁机制在内部使用(仅可用) 内部(而非最终用户)提供不同的 核心库功能

对于下面的数学库,平台独立
lib/math
中的库源代码将这些方法声明为
external
external
方法从修补程序文件获取其实现。那里 是运行时/lib/math\u patch.dart中VM中的补丁文件,它 提供虚拟机的实现,其中有一个补丁文件 中的
dart2js
编译器
lib/compiler/implementation/lib/math\u patch.dart
,它提供
dart2js
实现

external
关键字被分析器理解并执行此操作 way只允许共享部分位于SDK中,并被用户理解 工具。这意味着SDK可以有
lib/math
,而不是
lib/math/runtime
lib/math/dart2js
,使SDK更干净、更安全 更容易理解