以下是我的目录 struct :

lowks@lowkster ~/src/rustlang/gettingrusty $ tree .
.
├── Cargo.lock
├── Cargo.toml
├── foo.txt
├── src
│   ├── boolean_example.rs
│   ├── function_goodbye_world.rs
│   ├── listdir.rs
│   ├── looping.rs
│   ├── main.rs
│   ├── pattern_match.rs
│   └── write_to_file.rs
└── target
    ├── build
    ├── deps
    ├── examples
    ├── gettingrusty
    └── native

6 directories, 11 files

当我运行"Cargo 建造"时,它似乎只建造了main.rs个.我该如何换货.toml是否也要构建其余的文件?

推荐答案

Rust编译器同时编译所有文件,以构建crate,它要么是可执行文件,要么是库.要将文件添加到 crate ,请将mod个项目添加到 crate 根目录(此处为main.rs)或其他模块:

mod boolean_example;
mod function_goodbye_world;
mod listdir;
mod looping;
mod pattern_match;
mod write_to_file;

要从 crate 根目录访问另一个模块中定义的项目,必须使用模块名称限定该项目.例如,如果在模块looping中有一个名为foo的函数,则必须将其称为looping::foo.

您还可以添加use条语句来导入模块作用域中的名称.例如,如果您添加use looping::foo;,那么您可以使用foo来引用looping::foo.

有关更多信息,请参阅The Rust Programming Language中的Separating Modules into Different Files.

Rust相关问答推荐

无需通过ASIO输入音频,并使用cpal进行反馈示例

Rust kill std::processs::child

将JSON密钥转换为Polars DataFrame

当Option为None时,Option数组是否占用Rust中的内存?

在Rust中,如果Result是Err,运行副作用(如日志(log)记录)的惯用方法是什么

如何用Axum/Tower压缩Html内容?

正则表达式中的重叠匹配?(铁 rust 正则式发动机)

在0..1之间将U64转换为F64

将Vec<;U8&>转换为Vec<;{Float}&>

提取指向特征函数的原始指针

更新 rust ndarray 中矩阵的一行

如何将 C++ 程序链接到 Rust 程序,然后将该 Rust 程序链接回 C++ 程序? (cpp -> rust -> cpp)

具有在宏扩展中指定的生命周期的枚举变体数据类型

类型判断模式匹配panic

为什么1..=100返回一个范围而不是一个整数?

为什么会出现无法移出可变引用后面的 `self.x`错误?

改变不实现克隆的 dioxus UseState struct

为什么 no_std crate 可以依赖于使用 std 的 crate?

通用类型,不同于输入类型,作为函数的返回值

在同一向量 Rust 中用另一个字符串扩展一个字符串