</>
Plan du cours — 31/66

Modules

Intermédiaire
src/
├── main.rs
├── config.rs
└── db/
    ├── mod.rs        (ou db.rs à côté du dossier)
    └── users.rs
// main.rs
mod config;          // déclare le module (charge src/config.rs)
mod db;

use crate::db::users::Utilisateur;
use std::collections::HashMap;
use std::io::{self, Read, Write};   // imports groupés

fn main() {
    let cfg = config::charger();
}
// config.rs
pub struct Config {
    pub port: u16,      // pub : champ visible depuis l'extérieur
    secret: String,     // privé par défaut
}

pub fn charger() -> Config { /* ... */ }

Visibilité#

Mot-cléVisible depuis
(rien)le module courant et ses enfants
pubpartout
pub(crate)tout le crate
pub(super)le module parent