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 для последнего выражения в функции.

Смотрите также

Проверьте это для получения дополнительной информации: