Read input from CLI#
Create new project using cargo.
Replace content inside main.rs file with following code.
1
2
3
4
5
6
7
8
9
10
11
12
13
use std::io;
fn main() {
println!("Enter your input");
let mut cli_input = String::new();
io::stdin()
.read_line(&mut cli_input)
.expect("Failed to read value");
println!("You entered: {cli_input}");
}
Code explanation#
1
use std::io;
Here, we’re importing the io library from Rust standard library. Refer: Rust Standard Library for more information.
1
println!("Enter your input");
Above code prints a new line on Standard Input with the content given.
1
let mut cli_input = String::new();
Here we’re creating a mutable variable cli_input with type as String to store the input given by user. Keyword mut indicates that, cli_input is a mutable variable and we can change the value inside it.
For example
1
let count = 10;
Above line creates a new variable count and assign a value 10 to it. In Rust, variables created are immutable by default, meaning, once we create a variable count we can’t alter the value of it, we can use it but can’t change the value.
1
2
io::stdin()
.read_line(&mut cli_input)
Here, we’re using stdin function from io module which will allow us to handle user input.
The line .read_line(&mut cli_input) calls read_line method on standard input.
1
.expect("Failed to read value")
Here, we’re handling potential exceptions thrown by runtime incase of any invalid inputs receved from standard input.
Code#
You can refer the github link for full code.