Добавить объявление

Отличие в работе с условными конструкциями в Rust и Swift

Продолжаю изучать Rust и обнаружил интересное отличие в работе с условными конструкциями.

В Swift есть как классический тернарный оператор, так и if-expression:

// Тернарный оператор
let status = age >= 18 ? "взрослый" : "ребенок"

// If-expression (тоже работает!)
let access = if isAdmin { "полный" } else { "ограниченный" }

В Rust тернарного оператора нет, есть только if-expression:

let status = if age >= 18 { "взрослый" } else { "ребенок" };
let access = if is_admin { "полный" } else { "ограниченный" };

Оба подхода работают как выражения и возвращают значения.

В Swift, где есть возможность выбора, мне нравится больше. Я использую тернарные операторы очень часто. Они короче и лучше читаются, если не использовать вложенные тернарные операторы - что является плохим тоном.
24.10.2025 16 171