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

  • 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.
主站蜘蛛池模板: 云浮市| 班戈县| 嘉祥县| 拉孜县| 都昌县| 金寨县| 盘锦市| 修文县| 海盐县| 泾源县| 民县| 六盘水市| 安福县| 从江县| 新建县| 若尔盖县| 义马市| 芮城县| 富顺县| 从化市| 井陉县| 清丰县| 嘉义市| 阜阳市| 天门市| 玛沁县| 安达市| 郯城县| 北海市| 曲靖市| 大邑县| 东山县| 宣汉县| 南岸区| 潜山县| 滁州市| 灯塔市| 宣武区| 黔东| 和政县| 长武县|