跳到主要内容

表达式和语句以及 if 的风骚写法

表达式

Rust 是一个以表达式为主的语言。

比如:let a = 1;这就是一个语句,

如果:if a == 1 {} 这里面的a == 1就是一个表达式,表达式可以包括定义某值,或判断某物,最终会有一个“值”的体现。

let a = 1; // 语句
if a == 1 {
let b = 5;
println!("{}", b);
}

我们可以使用表达式的风骚写法替换

let a = 1; // 语句
let b = if a == 1 {5}else {10};
println!("{}", b);

实现自增效果,正常写法:

fn add (i:i32)->i32 {
return i+1; // return 之后要加分号
}

如果使用表达式来简写

fn add (i:i32)->i32 {
i+1 // 使用表达式 可以不加分号
}

然后优化一下前面的一个函数

fn get_user(uid:i32)->&'static str {
if uid == 1 {
"wujie"
} else if uid == 2 {
"张三"
} else {
"unknown"
}
}

return和分号都去掉即可。

或者

fn get_user(uid:i32)->&'static str {
let ret = if uid == 1 {
"wujie"
} else if uid == 2 {
"张三"
} else {
"unknown"
};
// 前面写内容是可以的,但是再写一个表达式也是不可以的
ret
// 注意这个表达式后面不能写内容
}