首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rust模块,组合两个use语句

Rust模块,组合两个use语句
EN

Stack Overflow用户
提问于 2020-04-08 18:55:56
回答 1查看 97关注 0票数 1

来自文档

代码语言:javascript
复制
use std::io;
use std::io::Write;

两条use语句,其中一条是另一条语句的子路径

这两个路径的共同部分是std::io,这就是完整的第一个路径。要将这两个路径合并到一个use语句中,我们可以在嵌套路径中使用self,如清单所示

代码语言:javascript
复制
use std::io::{self, Write};

将路径组合到一个use语句中

这一行将std::iostd::io::Write带入作用域。

如果我在作用域中引入了std::io,如果Write是一个公共项,那么io::Write将自动在作用域中可用,这不是很明显吗?为什么需要单独导入?

EN

回答 1

Stack Overflow用户

发布于 2020-04-08 19:57:07

如果我很好地理解了您的问题,我认为您误解了use语句。

在我看来,您认为声明use std::io将带来它内部的所有公共内容。但事实并非如此。它只是为std::io创建一个alias作为io,所以您可以像在io::Resultio::Write中一样使用它。如果你想把所有的公共东西都放在那里,你应该改用std::io::*,但不推荐这样做,因为它会污染你的命名空间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61099035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档