面试题答案
一键面试fn check_password_strength(password: &str) -> bool {
password.len() > 8 && password.chars().any(|c| c.is_digit(10))
}
布尔逻辑运算符处理复杂判断逻辑
在函数check_password_strength
中,使用了&&
(逻辑与)运算符。该运算符连接了两个判断条件:password.len() > 8
(判断密码长度是否大于8)和password.chars().any(|c| c.is_digit(10))
(判断密码是否至少包含一个数字)。只有当这两个条件都为true
时,整个表达式才为true
,否则为false
。这种使用逻辑与运算符的方式,简洁地实现了复杂判断逻辑,确保密码同时满足长度和数字包含的要求。
Rust布尔类型在函数返回值传递过程中的机制
在Rust中,布尔类型bool
只有两个值:true
和false
。当函数执行到return
语句时,会将计算后的布尔值直接返回。由于bool
类型是一个基本类型,在返回时会进行值传递,即将该布尔值的副本传递给调用者。调用者在接收到返回值后,可以根据这个布尔值进行后续的逻辑处理,比如在if
语句中根据返回的true
或false
来执行不同的分支代码。