Multi-file version
If you look at the source code in the simplestruct
file, you'll find the structures at the start with the code under it. There is nothing wrong with that, but after a while, it becomes cumbersome, especially if we have a lot of structures and enumerations.
To remove this problem, we can split the structures and code over two files.
However, before we build the code, we will have to provide the main.rs
file with some sort of pointer to the structures. We can do this in one of three ways. The simplest is to use the include!
macro:
include!("structs.rs");
Note
The source for this section is in the Chapter 7/multifile
folder, present in the supporting code bundle provided for this book.
This just inserts the contents of the file in the place of the macro call, so it's not the most elegant way and completely sidesteps Rust's module system. So let's look at a better way.
The better way is to reference the module using the following snippet:
mod structs; use structs::*;
This can lead...