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

Rust如何从子文件夹导入函数?调用src/lib/test.rs的hallo到src/main.rs

操作步骤
  • 修改src/lib/test.rs,给hallo函数添加pub关键字,Rust默认所有项为私有,仅同模块可访问:
pub fn hallo(){
    println!("hallo");
}
  • 在src/lib目录下新建mod.rs文件,声明该目录下的子模块并导出test模块:
pub mod test;
  • 修改src/main.rs,顶部声明lib模块、导入hallo函数:
mod lib;
use lib::test::hallo;

#[allow(dead_code)]
fn main() {
    println!("Hello, world!");
    hallo();
}

修改完成后执行cargo run即可正常运行,会依次输出Hello, world!和hallo。

可选方案(将lib作为独立库维护)

如果你计划把lib目录下的代码作为独立库管理,可按以下方式调整:

  1. 删除src/lib目录下的空main.rs,保留src/lib/test.rs,新建src/lib.rs作为库根,内容为:
pub mod test;
  1. 在src/main.rs中直接导入库内的函数,无需额外声明mod:
// 此处替换为你Cargo.toml里[package]下定义的name字段值
use 你的包名::test::hallo;

#[allow(dead_code)]
fn main() {
    println!("Hello, world!");
    hallo();
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 02:27:05