Rust基础语法判断语句读取命令行里边的数字使用match和if进行判断

use std::str::FromStr;
use std::env;

fn main() {
 // 新建一个
  let mut numbers = Vec::new();
  for arg in env::args().skip(1){
    numbers.push(u64::from_str(&arg).expect("error parsing argument"));
  }
  if numbers.len() == 0 || numbers.len() > 1 {
    eprint!("Usage: only one number");
    std::process::exit(1);
  }
  let mut d = numbers[0];
  match d {
    0 => println!("zero match"),
    1 => println!("one match"),
    _ => println!("default match")
  }

  if d == 0 {
    println!("zero if");
  }else if d == 1 {
    println!("one if");
  }else{
    println!("default if");
  }
}

这段代码只接受一个命令行参数,要是这个命令行参数输入的是0,那么就会输出:

zero match
zero if

要是这个命令行参数输入的是1,那么就会输出:

one match
one if

要是这个命令行参数输入的是其他数字,那么就会输出:

default match
default if

你可能感兴趣的:(rust学习,rust)