Haxe中的'using'关键字是什么?

Haxe中的'using'关键字是什么?,using,haxe,Using,Haxe,我经常看到人们在Haxe代码中使用关键字using。它似乎在执行import语句 例如,我发现这是一个代码片段: import haxe.macro.Context; import haxe.macro.Expr; import haxe.macro.Type; using haxe.macro.Tools; using Lambda; 它做什么以及如何工作?Haxe的“使用”mixin功能也被称为“”。这是Haxe的一个很好的语法特点;它们可以对代码可读性产生积极影响 静态扩展允许伪扩展现有

我经常看到人们在Haxe代码中使用关键字
using
。它似乎在执行
import
语句

例如,我发现这是一个代码片段:

import haxe.macro.Context;
import haxe.macro.Expr;
import haxe.macro.Type;
using haxe.macro.Tools;
using Lambda;
它做什么以及如何工作?

Haxe的“使用”mixin功能也被称为“”。这是Haxe的一个很好的语法特点;它们可以对代码可读性产生积极影响

静态扩展允许伪扩展现有类型而不修改其源。在Haxe中,这是通过使用扩展类型的第一个参数声明静态方法,然后通过
使用
关键字将定义类引入上下文来实现的

看看这个例子:

using Test.StringUtil;

class Test {
    static public function main() {
        // now possible with because of the `using`
        trace("Haxe is great".getWordCount());

        // otherwise you had to type
        // trace(StringUtil.getWordCount("Haxe is great"));
    }
}

class StringUtil {
    public static inline function getWordCount(value:String) {
        return value.split(" ").length;
    }
}
在此处运行此示例:

有关Haxe文档的更多信息:

  • 在Haxe手册中
  • Haxe代码手册中的标记文章

使用“使用”比使用“导入”快吗?@c.c.它们是完全不同的东西