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
для последнего выражения в функции.
Смотрите также
Проверьте это для получения дополнительной информации: