Rust:
Organizowanie kodu w funkcje

Jak to zrobić:

Wyobraź sobie, że masz kod, który kilka razy oblicza powierzchnię koła. Zamiast powtarzać formułę, zamykasz ją w funkcji.

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!("Powierzchnia koła wynosi: {}", area);
}

Wynik:

Powierzchnia koła wynosi: 78.53981633974483

Dogłębna analiza

Historycznie, funkcje pochodzą z matematyki, gdzie przyporządkowują wejścia do wyjść. W kodowaniu są obecne już od czasów asemblera, chociaż nazywaliśmy je „podprogramami”. Funkcje w Rust mogą zwracać wartości, a nawet inne funkcje dzięki funkcjom pierwszoklasowym i domknięciom.

Alternatywy? Kod wbudowany lub makra, ale są bałaganem dla skomplikowanej logiki. Obiekty z metodami to inny sposób organizowania funkcjonalności, inny niż samodzielne funkcje.

Implementacja w Rust jest dość prosta. Funkcje deklarują typy swoich parametrów i typ zwracany. Przyjęło się, że nazwy są pisane ‘snake case’. Masz publiczne funkcje (pub fn) do użytku poza modułem i prywatne do użytku wewnętrznego. I Rust ma tę fajną funkcję, że nie potrzebujesz słowa kluczowego return dla ostatniego wyrażenia w funkcji.

Zobacz też

Sprawdź te materiały po więcej informacji:

  • Książka o języku programowania Rust: Funkcje
  • Rust przykładami na temat Funkcji