
Rust език за програмиране е силно предпочитан заради своята производителност, безопасност на паметта и едновременност. Въпреки това, тъй като е език за системно програмиране, понякога може да е по-малко интуитивен за операции за начинаещи разработчици, които са по-достъпни на други езици на високо ниво, като например получаване на потребителски вход. Тази статия ще разгледа въпроса как да получите вход на същия ред като въпроса в Rust.
Получаването на информация от потребителите е важно при разработването на интерактивни програми или приложения. В Rust често използваме стандартния входен поток, Stdin, предоставен от модула std::io. Това обаче може да не постави въведеното от потребителя на същия ред като въпроса. Нека видим как можем да постигнем това.
използвайте std::io::{self, Write};
нека вход = String::new();
print!(“Въведете вашето име: “);
io::stdout().flush().unwrap();
io::stdin().read_line(&mut input).unwrap();
име на let: String = input.trim().to_string();
println!(“Здравей, {}”, име);
Разбивка на кода стъпка по стъпка
- В първия ред импортираме необходимите модули от std::io. Модулът io осигурява функционалността на Rust за работа с различни видове вход и изход.
- След това декларираме променлив низ, наречен вход. Това ще задържи потребителския вход.
- Печатът! макросът се използва за показване на подкана за въвеждане без нов ред в края. Това е важно, за да може въведеното от потребителя да бъде на същия ред като въпроса.
- Тъй като печат! функцията не изчиства автоматично буфера stdout, трябва ръчно да го изчистим с помощта на io::stdout().flush(). Това гарантира, че подканата за въвеждане се показва незабавно.
- След това използваме функцията read_line от структурата Stdin и предаваме препратката към входа към нея. Тази функция чете въведеното от потребителя от конзолата и го добавя към нашата входна променлива. Ние също изрязваме входа, за да премахнем всички символи за нов ред в края, които могат да попречат на последващия код.
- Накрая отпечатваме въведеното от потребителя.
Разбиране на структурата Stdin и функцията read_line
- Stdin структура представлява манипулатор на стандартния входен поток на процес. Тази структура се използва в нашия код за извличане на въведеното от потребителя. Тази структура идва с различни методи, които могат да се използват за манипулиране на входните данни.
Най-често използваният метод на Stdin struct в Rust е методът read_line. The read_line() методът в Rust попада под характеристиката Read. Характеристиката Read е основният API в Rust за четене на байтове. Той приема &mut String като параметър, където се съхранява входният низ.
Надяваме се, че вече сме демистифицирали получаването на информация на същия ред като въпрос в Rust. Следващият път, когато кодирате CLI в Rust, запомнете тези стъпки и кодирайте по удобен за потребителя начин.