MST
星途 面试题库

面试题:Rust中if表达式复杂条件判断之条件嵌套与逻辑优化

假设有四个布尔变量bool1、bool2、bool3、bool4,bool1代表用户是否登录,bool2代表用户是否有特定权限,bool3代表资源是否存在,bool4代表资源是否被锁定。编写一个复杂的if表达式逻辑,当用户已登录且有特定权限,并且资源存在且未被锁定时,允许用户访问资源并打印提示信息;当用户已登录但无特定权限,或者资源不存在时,打印相应的错误提示信息;其他情况打印通用提示。要求考虑逻辑简洁性和可读性,给出完整Rust代码。
27.2万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
fn main() {
    let bool1 = true; // 用户是否登录
    let bool2 = true; // 用户是否有特定权限
    let bool3 = true; // 资源是否存在
    let bool4 = false; // 资源是否被锁定

    if bool1 && bool2 && bool3 &&!bool4 {
        println!("允许用户访问资源");
    } else if (bool1 &&!bool2) ||!bool3 {
        if bool1 &&!bool2 {
            println!("用户已登录但无特定权限");
        } else {
            println!("资源不存在");
        }
    } else {
        println!("通用提示");
    }
}