gpt4 book ai didi

来自 main.rs 的 rust 模块解析

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

我有一个关于 rust 模块解析的问题。
似乎在 crate 模块内部,我可以使用 crate name 或 crate 引用其他模块/super/self关键词。
但在 main.rs我只能使用带有箱子名称的模块吗?
我在这里做傻事吗?
我的项目:

$ tree
.
├── Cargo.toml
└── src
├── add2.rs
├── add.rs
├── lib.rs
└── main.rs
Cargo.toml内容:
[package]
name = "example"
....
main.rs内容:
use example::add::{add_one};
fn main() {
println!("{}", add_one(1));
}
lib.rs内容:
pub mod add;
add.rs内容:
pub fn add_one(x: i32) -> i32 {
x + 1
}
add2.rs内容:
use crate::add::{add_one};

pub fn add_two(x: i32) -> i32 {
add_one(add_one(x))
}

最佳答案

Am I doing something stupid here?


不,只是 Cargo 增加了一层称为“包”的复杂性,无论好坏,这使它更加困惑。
简而言之,你的 Cargo 包包含两个 Rust crate:二进制包和库包。当您在 main.rs , example library crate 和其他任何东西一样是一个外部依赖项......这意味着你不在同一个 crate 中!

关于来自 main.rs 的 rust 模块解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65735609/

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