gpt4 book ai didi

rust - 如何避免 rust 中单个结构模块的冗余模块命名?

转载 作者:行者123 更新时间:2023-12-03 11:25:28 24 4
gpt4 key购买 nike

也许这只是困扰我,但在某些情况下,我希望每个模块文件都有一个结构。
假设我有一个名为 的结构用户 像这样:

struct User {
name: String
}
假设我有一个文件结构,例如用户结构代码位于 的位置。 src/models/user.rs 像这样:
src/
models/
user.rs
现在我希望能够像这样使用 User 结构:
use crate::models::User;
当然这是不可能的。相反,它需要引用:
use crate::models::user::User;
对我来说,这看起来很丑陋,如果两个词 ,我认为它是多余的。用户 用户 , 是模块路径的一部分。
是否有任何解决方案看起来不像刚才描述的那样“笨拙”?
也可能是我错过了有关 rust 模块命名系统如何工作的一些内容。

最佳答案

您可以使用 Usermodels 模块中的 pub use user::User; 结构体 usermodels 设为私有(private)(这样 User 之外的任何人都无法访问它)。在外部, models 结构然后可以被称为 crate::models::User 模块的成员 use
也可以看看:

  • re-export
  • 关于rust - 如何避免 rust 中单个结构模块的冗余模块命名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65520779/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com