示例文件夹中有 2 个二进制文件:example1_main.rs、example2_main.rs。如何添加可供所有示例程序使用的通用模块 example_common.rs?以及如何导入它们?
文件布局是这样的:
src: ...
examples
|- example1_main.rs
|- example2_main.rs
|- example_common1.rs (how to add common modules and import them in *_main.rs?)
|- example_common2.rs
您可以使用
include!
宏来复制源代码,而不是普通的 use
语句:
// examples/example_main.rs
include!("./common.rs");
pub fn main() {
println!("{}", library::add(common::double(2), 2));
}
// examples/common.rs
mod common {
pub fn double(x: u64) -> u64 {
x * 2
}
}
// src/lib.rs
pub fn add(left: u64, right: u64) -> u64 {
left + right
}