MST
星途 面试题库

面试题:Rust中模块管理的基础应用

在Rust项目中,创建一个包含多个模块的结构,其中有一个`utils`模块用于存放一些工具函数,`main`模块调用`utils`模块中的函数并打印结果。请写出对应的代码结构及`import`语句。
48.0万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
// src/lib.rs 或 src/main.rs
// 定义 utils 模块
mod utils {
    // 工具函数
    pub fn utility_function() -> &'static str {
        "这是一个工具函数的返回值"
    }
}

// main 模块
fn main() {
    // 使用 utils 模块中的函数
    let result = utils::utility_function();
    println!("{}", result);
}

在这个代码中,mod utils定义了utils模块,pub fn utility_function将函数定义为公有,以便外部模块调用。在main函数中,通过utils::utility_function()调用utils模块中的函数,并打印结果。

如果项目结构更复杂,utils模块也可以放在单独的文件中。例如:

  1. 创建src/utils.rs文件,内容如下:
// src/utils.rs
pub fn utility_function() -> &'static str {
    "这是一个工具函数的返回值"
}
  1. src/lib.rssrc/main.rs中:
// src/lib.rs 或 src/main.rs
mod utils;

fn main() {
    let result = utils::utility_function();
    println!("{}", result);
}

这里mod utils;引入src/utils.rs文件作为utils模块,后续使用方式不变。