gpt4 book ai didi

rust - 函数导入中的冗余

转载 作者:行者123 更新时间:2023-12-05 09:01:15 26 4
gpt4 key购买 nike

我认为我的导入有一些冗余,但我真的想不出另一种方法来做到这一点

主要.rs

mod lib; 
use lib::calc::med_calc;


fn main() {
let mut numbers = vec![1,21,22,4,2];
med_calc(& mut numbers)
}

对我来说,将 lib.rs 声明为模块似乎很奇怪,只有这样我才能使用其中的结构/函数。因为我已经在 lib.rs 本身中将它们声明为模块和公共(public)。

lib.rs

pub mod calc {
pub fn med_calc(vector: & mut Vec<u8>){
vector.sort();
println!("{}", vector[vector.len()/2])
}
}

文件树(在 cargo 中使用):

src -
|- main.rs
|- lib.rs

最佳答案

当您的项目中同时拥有 lib.rsmain.rs 文件时,lib.rs 文件会创建一个库 crate可以通过 crate 的二进制源文件中的 crate 名称访问(如 main.rsbin/*.rs)。

例如,如果 crate 名为 rust_tmp,那么您可以:

main.rs:

use rust_tmp::calc::med_calc;

fn main() {
let mut numbers = vec![1, 21, 22, 4, 2];
med_calc(&mut numbers)
}

不需要 mod lib;。实际上,mod lib;lib.rs 的使用方式适得其反。

关于rust - 函数导入中的冗余,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73741727/

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