`use path :: {self}`是什么意思?

时间:2018-03-08 23:14:40

标签: rust self

我最近阅读了following line of code

use fmt::{self, Debug}; 

上述声明中的self关键字是什么意思?

2 个答案:

答案 0 :(得分:8)

self这里指的是模块本身,即你的行相当于两行

use fmt::Debug;
use fmt;

答案 1 :(得分:6)

在该上下文中使用self允许您使用单个use语句将模块及其中一些子元素绑定到当前作用域中。

没有自我:

use a::b::{c,d};
// Now you can refer to a::b::c as c and a::b::d as d
// but if you need to refer to a::b as a::b

自我:

use a::b::{self, c, d};
// Now b refers to a::b as well