MST

星途 面试题库

面试题:Rust布尔类型在函数返回值及复杂逻辑中的运用

编写一个Rust函数`check_password_strength`,接收一个字符串作为参数表示密码。函数需要判断密码长度是否大于8且是否包含至少一个数字。如果满足这两个条件,返回`true`,否则返回`false`。请详细说明在函数实现过程中如何利用布尔逻辑运算符来处理复杂判断逻辑,以及Rust布尔类型在函数返回值传递过程中的机制。
44.2万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
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只有两个值:truefalse。当函数执行到return语句时,会将计算后的布尔值直接返回。由于bool类型是一个基本类型,在返回时会进行值传递,即将该布尔值的副本传递给调用者。调用者在接收到返回值后,可以根据这个布尔值进行后续的逻辑处理,比如在if语句中根据返回的truefalse来执行不同的分支代码。