Rust:
Організація коду в функції
Як це зробити:
Припустімо, у вас є код, що калькулює площу кола кілька разів. Замість повторення формули, ви обертаєте її у функцію.
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!("Площа кола становить: {}", area);
}
Вивід:
Площа кола становить: 78.53981633974483
Поглиблений аналіз
Історично функції прийшли з математики, де вони відображають вхідні дані на вихідні. У програмуванні вони існують із часів асемблеру, хоча ми називали їх “підпрограмами”. Функції в Rust можуть повертати значення та навіть інші функції завдяки функціям першого класу та замиканням.
Альтернативи? Вбудований код або макроси, але вони заплутані для складної логіки. Об’єкти з методами - ще один спосіб організації функціональності, інший смак, ніж стандартні функції.
Імплементація в Rust досить проста. Функції оголошують типи своїх параметрів і тип повернення. За звичкою вони мають імена у стилі ‘snake case’. Є публічні функції (pub fn
) для використання поза модулем та приватні для внутрішнього використання. І в Rust є ця класна функція, коли вам не потрібно ключове слово return
для останнього виразу в функції.
Дивіться також
Перегляньте це для додаткової інформації: