Checking Length and Using UnWrap

fn main() {

    // get action
    let mut action = String::from ("");
    let args: Vec<String> = env::args().collect();
    if args.len() > 1 {
        action = args.get(1).unwrap().to_lowercase();
    }

    match action.as_str() {
        "listDownloads" => {
            list_downloads();
        },
        "removeCompleted" => {
            remove_completed();
        },
        "download" => {
            download();
        }
        &_ => {
            show_usage();
        }
    }
}


Using Option... 

use std::env;

fn main() {
    let args: Vec<String> = env::args().collect();
    dbg!(&args);

    let mut action = "UNKNOWN";

    let action_option = args.get(7);
    match action_option {
        None => println!("None Called"),
        Some(value) =>  {
            action = value;
        },
    }
 
    println!(">> {}", action);

}


  • No labels