Sujets Rust importants
Rust Modules and pub
Organize code into modules and decide what the rest of the program may use.
Ce que vous allez apprendre
- mod and pub
- Paths with ::
- use and super
mod geometry
geometrypub circle_areapublicsquareprivatepub mod convertto_degrees
Private unless marked pub
A module groups related functions, types and constants under a name. Everything in a module is private unless it is marked pub, so a module can hide its details.
circle_area is public, but square is private and can only be called inside geometry. Paths use ::, and super refers to the parent module. use brings a name into scope so to_degrees can be called without its full path.
Points clés
- Everything in a module is private by default.
- pub makes an item usable from outside.
- use brings a name into scope.
Exemple Rust exécutable
main.rs
mod geometry {
pub const PI: f64 = 3.14159;
pub fn circle_area(radius: f64) -> f64 {
PI * square(radius)
}
fn square(value: f64) -> f64 {
value * value
}
pub mod convert {
pub fn to_degrees(radians: f64) -> f64 {
radians * 180.0 / super::PI
}
}
}
use geometry::convert::to_degrees;
fn main() {
println!("{:.2}", geometry::circle_area(2.0));
println!("{:.1}", to_degrees(geometry::PI));
}
12.57
180.0S'entraîner
Ouvrez l'exemple dans le compilateur en ligne, modifiez une valeur ou ajoutez une ligne, et devinez la sortie avant de l'exécuter. Cassez ensuite le code exprès et lisez le message du compilateur.
Leçon terminée ?
Marquez-la comme apprise pour suivre votre progression.
Votre progression est enregistrée dans ce navigateur Connectez-vous pour la garder sur tous vos appareils.
S'entraîner avec un défi
Utilisez le contenu de cette leçon pour résoudre un vrai problème. Chaque défi s'exécute dans le navigateur, avec des tests instantanés et une revue par l'IA.
Tous les défis