研读Rust圣经解析——Rust learn-8(match,if-let简洁控制流,包管理)
match
match用于对条件进行匹配以控制程序处理,对于enum十分有效或者是去用于Option
other和占位符_
在开始前,我们先来说以下other和占位符_
,这常常在match的其余匹配中使用
比如:当周一的时候我要上课,周三的时候我要去钓鱼,而其他时间都得要上班,这时候使用other和占位符就很好,我只要处理周一和周三即可,其他都是相同的操作
区别
当我们不想使用通配模式获取的值时,请使用_
,这是一个特殊的模式,可以匹配任意值而不绑定到该值
easy match
fn main() {
let number = 46;
match number {
23=>println!("single"),
46=>println!("double"),
_=>()
};
}
另一种
fn main() {
let number = 45;
match number {
23=>println!("single"),
46=>println!("double"),
other=>()
};
}
enum match
no value
没有任何值的时候我们可以直接去匹配enum的类型进行判断处理
enum Job {
teacher,
student,
manager,
}
fn main() {
let job = Job::teacher;
match job {
Job::teacher => println!("teach student"),
Job::student => println!("listen class"),
Job::manager => println!