官术网_书友最值得收藏!

  • Rust Quick Start Guide
  • Daniel Arbuckle
  • 218字
  • 2021-06-10 19:46:03

A module as a separate file

More often than not, we're going to want to give our modules their own files. It's just nicer to keep things separated and contained as much as possible, because it helps keep the code manageable. Fortunately, this is just as easy. In our .rs file, we can just write something like the following:

pub mod module_b;

That looks a lot like the previous example, except that it doesn't have the module contents right there between { and }. Instead, the Rust compiler goes looking for a file called either module_b.rs or module_b/mod.rs, and uses the whole file as the contents of the module_b module. So, if the file contains a couple of functions similar to the ones we saw previously:

pub fn a_thing() {
println!("This is a module_b thing");
}

pub fn a_second_thing() {
a_thing();
println!("This is another module_b thing");
}

Then module_b will contain two functions named a_thing and a_second_thing. It's not a problem that those functions have the same names as functions in the module_a module from before, because they're in a different module.

Why did the compiler look in two places for the source code of module_b? This allows us to be more flexible in how we lay out our directory structure for our program's source code.
主站蜘蛛池模板: 永嘉县| 新民市| 柳江县| 建瓯市| 喜德县| 修武县| 华安县| 托里县| 虞城县| 灯塔市| 西林县| 康保县| 营口市| 轮台县| 淮阳县| 察哈| 洞头县| 恩施市| 宁陕县| 绥阳县| 固安县| 玉门市| 朝阳市| 中阳县| 南投市| 酒泉市| 尉氏县| 宿州市| 容城县| 乌鲁木齐市| 南宁市| 潮州市| 武汉市| 建德市| 潮安县| 玉屏| 蓬安县| 盐山县| 锦州市| 汉中市| 治多县|