1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
// Note: this requires the `cargo` feature
use clap::{arg, command, value_parser};
fn main() {
let matches = command!()
.arg(
arg!(<PORT>)
.help("Network port to use")
.value_parser(value_parser!(u16).range(1..)),
)
.get_matches();
// Note, it's safe to call unwrap() because the arg is required
let port: u16 = *matches
.get_one::<u16>("PORT")
.expect("'PORT' is required and parsing will fail if its missing");
println!("PORT = {}", port);
}