网站仿,乐清视频制作公司,制作软件下载,怎么查询网站点击量喜欢的话别忘了点赞、收藏加关注哦#xff08;加关注即可阅读全文#xff09;#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵#xff01;(#xff65;ω#xff65;)
7.6.1. 将模块的内容移动到其他文件
如果在模块定义时模块名后边跟的是;而不是代码块#…喜欢的话别忘了点赞、收藏加关注哦加关注即可阅读全文对接下来的教程有兴趣的可以关注专栏。谢谢喵(ω)
7.6.1. 将模块的内容移动到其他文件
如果在模块定义时模块名后边跟的是;而不是代码块Rust就会在src目录下找与模块同名的.rs文件加载其中的内容。无论模块的内容是在同一个文件里面还是在不同的文件里面模块树的结构都不会发生变化。
来看一个例子
mod front_of_house { pub mod hosting { pub fn add_to_waitlist() { } }
} pub use crate::front_of_house::hosting::add_to_waitlist; pub fn eat_at_restaurant() { add_to_waitlist();
}这样写就是把所有模块放在同一个文件里。如果要把它放在不同的文件里就要这么写
Step 1新建文件
假如要把front_of_house分出去就需要在src目录下创建同名的.rs文件
Step 2剪切代码
把原本在front_of_house下的代码从原位置剪切到这个front_of_house.rs这个文件里也就是把这一段剪切走
pub mod hosting { pub fn add_to_waitlist() { } }Step 3修改原处
打开front_of_house所在的原处这个时候就不用后面的代码块了把它连着{}都删去加上;即可(其它的无关代码不要动)原本代码是
mod front_of_house { pub mod hosting { pub fn add_to_waitlist() { } }
} pub use crate::front_of_house::hosting::add_to_waitlist; pub fn eat_at_restaurant() { add_to_waitlist();
}改成
mod front_of_house;pub use crate::front_of_house::hosting::add_to_waitlist; pub fn eat_at_restaurant() { add_to_waitlist();
}7.6.2. 子模块的拆分
需要注意的是如果想把模块下的子模块拆出来就需要新建父模块的同名文件夹在这个文件下方.rs文件用于存储子模块或是条目。
举个例子如果我要把hosting独立出去成一个单独的文件操作不仅仅是创建一个同名.rs文件而是需要先新建一个父模块的同名文件夹在这个例子中父模块的名字是front_of_house所以就要创建名字为front_of_house的文件夹。
然后再在这个文件夹下创建与条目名/模块名相同的.rs文件在这个例子中是要把hosting独立出去所以这个文件应该叫做hosting.rs。
在hosting.rs里存储hosting的内容也就是
pub mod hosting { pub fn add_to_waitlist() { }
}如果不想要同名的文件和文件夹可以把文件放进文件夹并把文件改名为mod.rs!!!
7.6.3. 拆分的优点
随着模块变大该技术让程序员可以把模块的内容移动到其他文件中。