use

use的使用建立在 模块树的建立基础上(无论是内部的 还是外部的)

use声明用来创建一个或多个与程序项路径同义的本地名称绑定。 通常使用 use声明来缩短引用模块所需的路径。这些声明可以出现在模块和块中,但通常在作用域顶部。

use基本使用

use 声明可以将一个完整的路径绑定到一个新的名字,从而更容易访问。

// 将 `deeply::nested::function` 路径绑定到 `other_function`。
use deeply::nested::function as other_function;

fn function() {
    println!("called `function()`");
}

mod deeply {
    pub mod nested {
        pub fn function() {
            println!("called `deeply::nested::function()`")
        }
    }
}

fn main() {
    // 更容易访问 `deeply::nested::funcion`
    other_function();

    println!("Entering block");
    {
        // 这和 `use deeply::nested::function as function` 等价。
        // 此 `function()` 将遮蔽外部的同名函数。
        use deeply::nested::function;
        function();

        // `use` 绑定拥有局部作用域。在这个例子中,`function()`
        // 的遮蔽只存在这个代码块中。
        println!("Leaving block");
    }

    function();
}

use 也支持 {} 花括号的写法 一次可以导入多个 程序项

use 也支持 self ,当使用self 之后,使用该模块的函数 就和在自己模块中一样

use更多使用

参考 - https://kaisery.github.io/trpl-zh-cn/ch07-04-bringing-paths-into-scope-with-the-use-keyword.html - https://rustwiki.org/zh-CN/reference/items/use-declarations.html#use%E5%8F%AF%E8%A7%81%E6%80%A7