New We are sorting MAX channels into categories and territories. Read the news
Loading image…

В Rust не принято возвращать из функций "чистый" тип, обычно для этого используется перечисление enum. Если говорить о стандартных библиотеках Rust то чаще всего возвращается



pub enum Option<T> {
Some(T),
None,
}

Предполагается, что значение может отсутствовать.

Или

pub enum Result<T, E> {
Ok(T),
Err(E),
}

для возвращения конкретного результата или ошибки.

Встречаются и другие варианты, в зависимости от того, что должно быть возвращено.

Пример с Option

fn main() {
 let num = vec![1, 2, 3, -10, 143];
 // Возвращает Option<&i32> по индексу
 let res = num.get(4);.
 match res {
     Some(value) => println!("Нашли: {}", value),
     None => println!("Не нашли"),
 }
}

Пример с Result. Кто читал предыдущие посты подобные примеры уже неоднократно встречались.


use std::io;

fn main() {
   let mut input = String::new(); // строка для ввода
   println!("Введите ваше имя:");.
// ввод с клавиатуры с проверкой ошибки с дописывания строки input
   match io::stdin().read_line(&mut input) {
       Ok(n) => {
         println!("Всего {} байтов", n);
         let mut input = "Привет ".to_string() + &input.trim() + &"!".to_string();
         println!("{}", input);
       }
       Err(error) => {
         println!("Ошибка при чтении: {}", error);
       }
   }
}

Обработка с оператором match предпочтительна, но не обязательна. В дальнейшем расскажу о других возможностях.

Описанные выше особенности языка rust входит в его основы. Это следует усвоить.
Views: 40
Open in MAX Report an inaccuracy

Report an inaccuracy

Describe what needs fixing. If you have a source, add a link.

You are leaving datool.ru

The link leads to an external website. datool.ru is not responsible for its content — check the address before entering passwords or payment details.

Redirecting in 10 s

Go