Rust:
Organisering av kode i funksjoner
Hvordan:
Si at du har kode som regner ut arealet av en sirkel flere ganger. I stedet for å gjenta formelen, pakker du den inn i en funksjon.
fn calculate_circle_area(radius: f64) -> f64 {
std::f64::consts::PI * radius.powi(2)
}
fn main() {
let radius = 5.0;
let area = calculate_circle_area(radius);
println!("Arealet av sirkelen er: {}", area);
}
Output:
Arealet av sirkelen er: 78.53981633974483
Dypdykk
Historisk kommer funksjoner fra matematikk, der de mapper inndata til utdata. I programmering har de vært rundt siden dager med samlekoder, selv om vi kalte dem ‘subrutiner’. Rust-funksjoner kan returnere verdier og til og med andre funksjoner takket være førsteklasses funksjoner og lukninger.
Alternativer? Innebygd kode eller makroer, men de er rotete for kompleks logikk. Objekter med metoder er en annen måte å organisere funksjonalitet på, en annen smak enn frittstående funksjoner.
Implementasjon i Rust er ganske grei. Funksjoner erklærer deres parametertyper og returtype. De bruker ‘snake case’ for navngiving etter konvensjon. Du har dine offentlige funksjoner (pub fn
) for bruk utenfor modulen og private for internt bruk. Og Rust har denne kule funksjonen hvor du ikke trenger et return
-nøkkelord for det siste uttrykket i en funksjon.
Se Også
Sjekk ut disse for mer info:
- Boken “The Rust Programming Language”: Funksjoner
- Rust ved Eksempel om Funksjoner