Условные выражения

Последнее обновление: 04.04.2021

Условные выражения представляют собой некоторое условие и возвращают значение типа bool: значение true (если условие истинно), либо значение false (если условие ложно). К условным выражениям относятся операции сравнения и логические операции.

Операции сравнения

Операции сравнения сравнивают два значения и в зависимости от результата сравнения возвращают true или false. В языке Rust имеются следующие операции сравнения:

  • ==

    Операция "равно". Возвращает true, если оба операнда равны, и false, если они не равны:

    let x = 5;
    let y = 7;
    let result: bool;
    result = x == y; // result = false - x не равно y
    
  • !=

    Операция "не равно". Возвращает true, если первый операнд не равен второму, и false, если оба операнда равны:

    let x = 5;
    let y = 7;
    let result: bool;
    result = x != y; // result = true
    
  • >

    Операция "больше чем". Возвращает true, если первый операнд больше второго, и false, если первый операнд меньше второго:

    let x = 5;
    let y = 7;
    let result: bool = x > y; // result = false
    
  • <

    Операция "меньше чем". Возвращает true, если первый операнд меньше второго, и false, если первый операнд больше второго:

    let x = 5;
    let y = 7;
    let result = x < y; // result = true
    
  • <=

    Операция "меньше или равно". Возвращает true, если первый операнд меньше или равен второму, и false, если первый операнд больше второго:

    let x = 5;
    let y = 7;
    let result = x <= y; // result = true
    
  • >=

    Операция "больше или равно". Возвращает true, если первый операнд больше или равен второму, и false, если первый операнд меньше второго:

    let x = 5;
    let y = 7;
    let result = x >= y; // result = false
    

Обычно операции отношения применяются в условных конструкциях типа if...else, которые будут рассмотрены далее.

Логические операции

Логические операции обычно объединяют несколько операций сравнения. К логическим операциям относят следующие:

  • ! (операция отрицания)

    Унарная операция, которая возвращает true, если операнд равен false. Если операнд равен true, операция возвращает false.

    let x = true;
    let y = false;
    let mut result = !x; // result = false
    result = !y; // result = true
    
  • && (конъюнкция, логическое умножение)

    Возвращает true, если оба операнда не равны false. Возвращает false, если хотя бы один операнд равен false.

    let x = true;
    let y = false;
    let mut result = x && y; // result = false
    println!("result = {}", result);
    	
    result = 10 > 2 && 4 < 5; // result = true (10> 2 равно true и 4 < 5 равно true)
    println!("result = {}", result);
    
  • || (дизъюнкция, логическое сложение)

    Возвращает true, если хотя бы один операнд равен true. Возвращает false, если оба операнда равны false.

    let x = true;
    let y = false;
    let mut result = x || y; // result = true
    println!("result = {}", result);
    
    result = 2 > 10 || 5 < 4; // result = false (2 > 10 равно false и 5 < 4 равно false)
    println!("result = {}", result);
    
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850