You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rust中如何从同一父目录导入模块?circle.rs导入ray.rs报错求助

Rust同一父目录下模块导入问题解决办法

你的问题出在对mod关键字的理解上——mod ray;是用来声明当前模块的子模块的,而ray.rs和circle.rs是同级的兄弟模块,不是父子关系,所以Rust会去circle目录下找ray相关文件,自然找不到,才报那个错。

按下面的步骤改就能解决:

  1. 在utils目录下创建mod.rs文件
    这个文件是用来把utils目录声明为一个模块,并导出里面的子模块。内容写:

    pub mod circle;
    pub mod ray;
    
  2. 在circle.rs里引用ray模块
    因为两者都是utils的子模块,有两种引用方式:

    • 用super指代父模块(也就是utils):
      use super::ray;
      
    • 用 crate 根路径直接引用(结构复杂时更清晰):
      use crate::utils::ray;
      
  3. (如果需要在main.rs里使用)声明utils模块
    在main.rs开头加上:

    mod utils;
    // 按需导入具体模块
    use utils::{circle, ray};
    

这样rust-analyzer的报错就会消失,模块也能正常引用了。

内容的提问来源于stack exchange,提问作者Judah Beethoven

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 15:17:15