Como dividir corretamente um módulo Rust em vários arquivos?
Olá a todos! Comecei a estudar Rust e me deparei com um problema de organização de código em módulos. Eu tenho um arquivo `main.rs`, onde declarei o módulo `shapes` assim:
```rust
mod shapes;
fn main() {
let rect = shapes::Rectangle::new(3.0, 4.0);
println!("Área: {}", rect.area());
}
```
Em `shapes.rs` defini as structs e funções:
```rust
pub struct Rectangle {
width: f64,
height: f64,
}
impl Rectangle {
pub fn new(w: f64, h: f64) -> Rectangle {
Rectangle { width: w, height: h }
}
pub fn area(&self) -> f64 {
self.width * self.height
}
}
```
Tudo funciona, mas agora quero adicionar mais formas: `Circle`, `Triangle`. Se eu colocar tudo em um único `shapes.rs`, o arquivo ficará enorme. Tentei criar uma pasta `shapes/` e colocar `mod.rs`, `rectangle.rs`, `circle.rs`. Em `mod.rs` escrevi:
```rust
pub mod rectangle;
pub mod circle;
```
Mas o compilador dá erros de que não consegue encontrar os tipos. Como fazer corretamente?
No answers yet.
Faça login para deixar uma resposta
Blogs