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

2024-01-03 05:57:53
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

文章来源:https://blog.csdn.net/qq_42108074/article/details/135040492
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。