mike@spirit:~/test/tmod/src$ ls
b.rs main.rs
mike@spirit:~/test/tmod/src$ cat main.rs
mod A {
pub fn a_func() {
println!("I am a_func.")
}
}
mod b;
fn main() {
A::a_func();
b::b_func();
}
mike@spirit:~/test/tmod/src$ cat b.rs
use super::A;
pub fn b_func() {
println!("I am b_func");
A::a_func();
}
mike@spirit:~/test/tmod/src$ cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
Running `/home/mike/test/tmod/target/debug/tmod`
I am a_func.
I am b_func
I am a_func.
mike@spirit:~/test/tmod/src$
1
共 5 条评论, 1 页
评论区
写评论贴一下我这边遇到的问题,也就是这个帖子的原因。
main.rs
A.rs
B.rs
编译报错,
贴一下我这边遇到的问题,也就是这个帖子的原因。 main.rs mod A;
fn main() { println!("Hello, this is main"); A::printA(); } A.rs mod B;
pub fn printA(){ println!("hello, this is A"); B::printB(); } B.rs pub fn printB(){ println!("hello, this is B"); }
编译报错, error: src\A.rs:1: file not found for module
B
help: src\A.rs:1: name the file either A\B.rs or A\B\mod.rs inside the directory "src"同级的a.rs不能引用同级目录下的b.rs。
只能是同级的crate入口 文件才能引用其它文件。
装逼。演示用。
为啥人类要在main.rs里写mod呢?