Rust花括号返回值探究

本文探讨了Rust中花括号作为返回值的特性,解释了如何使用花括号来返回函数的最后一个表达式的值。同时,强调了返回类型一致性的重要性,通过示例代码说明了当同一作用域内存在多个有值表达式时会导致编译错误,并提供了修正方法。
摘要由CSDN通过智能技术生成

Rust的花括号{}能够承担返回值的作用,这是Rust语言比价有意思的一点。我研究了一下花括号的返回值,尤其是跟if..else一起用的情况。在此做一下总结。

首先,Rust文档里面提到花括号具有evaluate last expression的功能,也就是会计算并且返回最后一个expression,比如2+3d。因此,我们可以将函数的最后一句expression当做返回值,例如:

fn test(i: i32) -> i32 {
    println!("good, good");  //这是statement,不返回
    let a = 666;        //这是statement,不返回
    i+3      		  //这是last expression,作为本函数的返回值
}

除此之外,if..else的表达式也可以返回值,例如:

    let i = 33;
    let res = if i % 2 == 0 {
        println!("i is even");   //这是statement,不返回
        66666             //这是last expression,作为if的返回值
    } else {
        println!("i is odd");   //这是statement,不返回
        99999            //这是last expression,作为else的返回值
    };
    println!("{}",
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值