包引入,取随机数,枚举类使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
use std::io::stdin; //引入stdin包,通过sdtin下的read_line函数获取命令行返回值
use rand::Rng; //引入Rng这个接口,通过rand::thread_rng().gen_range()获取随机数
use std::cmp::Ordering;//引入枚举包,通过ordering::xx来控制返回,通过match抓取不同的ordering

fn main() {
let sec = rand::thread_rng().gen_range(1..101);
print!("这个秘密的数是:{}\n",sec);
loop {
let mut string1 = String::new();//声明一个string类型的可变变量string::new()
stdin().read_line(&mut string1).expect("不能读取!\n");

let string1:i32 = match string1.trim().parse() { //变量的覆盖,通过let var_name:type = xx重新覆盖变量,必须声明类型。trim去首尾空,parse转数字,match抓取返回成功和err值并打印。
Ok(num) => num,
Err(err) => {
print!("{}\n",err);
continue;
},
};

match sec.cmp(&string1) { //这个是将string1和sec进行比较
Ordering::Greater => print!("small\n"),
Ordering::Equal => {
print!("win!!\n");
break;
},
Ordering::Less => print!("big\n")
}
}
}