Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

fn test(a:i32)->bool{
    if a>2{
        true
    }
    else if a<2{
        false
    }
}

这串代码在 VSCode 中报出了

图片.png

为什么要多写else才能消除警告

fn test(a:i32)->bool{
    if a>2{
        true
    }
    else if a<2{
        false
    }
    else{
        false
    }
}

虽有查到
Rust花括号返回值探究
关于函数不写return时候返回值的疑惑
但还是不理解为什么要这么写,或者设计


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
3.6k views
Welcome To Ask or Share your Answers For Others

1 Answer

不写 else 那当 a 等于 2 时,test函数的返回值应该是为 true 还是 false 呢?rust 没法识别出正确的业务返回值,所以必须强制编写啊。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...