RUST语言流控制语句使用示例

1.判断语句

单条件判断:

rust 复制代码
let mut x=128;//声明一个32位整数
    x=512;//修改变量原来的值为新值
    //如果 ... 否则
    //判断变量x是否大于256
    if x>256 {
        println!("x>256,x={}",x);
    }else {
        println!("x<256,x={}",x);
    }

    let is_ok:bool = true;
    //rust中不用()
    if is_ok {
        println!("is_ok:{}",is_ok);
    }
    //使用表示式计算的值作为条件
    let a=1;
    if a !=0 {
        println!("条件成立!!!");
    }

多条件判断:

rust 复制代码
//多个条件判断
    let ret=123;
    if ret == 1 {
        println!("条件成立:{}",ret);
    }else if ret == 2 {
        println!("条件成立:{}",ret);
    }else if ret == 3 {
        println!("条件成立:{}",ret);
    }else {
        println!("条件不匹配:{}",ret);
    }

判断语句作为表达式使用:

rust 复制代码
//条件作为表达式使用
    let isRet = true;
    //整数使用
    let by_ret = if isRet { 123} else {456};
    //字符串使用,指向字符串地址
    let byStr:&str = if isRet { "Yes"} else {"No"};
    println!("Str:{},Ret:{}",byStr,by_ret);

2.循环语句

rust 复制代码
//循环条件
    let mut count:i8=0;
    //只输出10次
    loop {
        if count==10 {
            break;
        }
        println!("一直打印...");
        count +=1;
    }

循环语句作为表达式使用:

rust 复制代码
//循环作为块使用
    let mut tmp_count:i8=0;
    let mut tmpRet=0;
    //变量作为循环返回结果时不要指定类型
    let x5count = loop {
        //如果循环5次就退出循环
         if tmp_count == 5 {
             break;
         }
        //1*5 + 2*5 + 3*5 + 4*5 = 50
        tmpRet += tmp_count * 5; //每次乘5
        tmp_count+=1;
    };
    println!("tmpRet:{}",tmpRet);
复制代码
循环嵌套:
rust 复制代码
//循环嵌套
    let mut i=0;
    let mut j=0;
    //增加循环标志
    'out_loop: loop {
        i+=1;
        println!("i:{}",i);
        if i==10 { break; }
        loop {
            j+=1;
            if j==5 {
                break 'out_loop;//内循环跳出到外循环
            }
            println!("j:{}",j);
        }
    }

while循环:

rust 复制代码
//while循环使用
    let mut times = 5;
    while times >0 {
        println!("==={}",times);
        times-=1;
    }

for循环使用:

rust 复制代码
//for循环使用
    let arr = [1,2,3,4,5,6,7,8,9];
    //遍历数组
    for v in arr {
        println!("for循环:{}",v);
    }

    //范围遍历,反转
    for v in (1..21).rev()  {
        println!("for循环反转===:{}",v);
    }

完整示例代码:

rust 复制代码
fn main() {
    println!("RUST语言流控制");
    let mut x=128;//声明一个32位整数
    x=512;//修改变量原来的值为新值
    //如果 ... 否则
    //判断变量x是否大于256
    if x>256 {
        println!("x>256,x={}",x);
    }else {
        println!("x<256,x={}",x);
    }

    let is_ok:bool = true;
    //rust中不用()
    if is_ok {
        println!("is_ok:{}",is_ok);
    }
    //使用表示式计算的值作为条件
    let a=1;
    if a !=0 {
        println!("条件成立!!!");
    }
    //多个条件判断
    let ret=123;
    if ret == 1 {
        println!("条件成立:{}",ret);
    }else if ret == 2 {
        println!("条件成立:{}",ret);
    }else if ret == 3 {
        println!("条件成立:{}",ret);
    }else {
        println!("条件不匹配:{}",ret);
    }
    //条件作为表达式使用
    let isRet = true;
    //整数使用
    let by_ret = if isRet { 123} else {456};
    //字符串使用,指向字符串地址
    let byStr:&str = if isRet { "Yes"} else {"No"};
    println!("Str:{},Ret:{}",byStr,by_ret);

    //循环条件
    let mut count:i8=0;
    //只输出10次
    loop {
        if count==10 {
            break;
        }
        println!("一直打印...");
        count +=1;
    }

    //循环作为块使用
    let mut tmp_count:i8=0;
    let mut tmpRet=0;
    //变量作为循环返回结果时不要指定类型
    let x5count = loop {
        //如果循环5次就退出循环
         if tmp_count == 5 {
             break;
         }
        //1*5 + 2*5 + 3*5 + 4*5 = 50
        tmpRet += tmp_count * 5; //每次乘5
        tmp_count+=1;
    };
    println!("tmpRet:{}",tmpRet);

    //循环嵌套
    let mut i=0;
    let mut j=0;
    //增加循环标志
    'out_loop: loop {
        i+=1;
        println!("i:{}",i);
        if i==10 { break; }
        loop {
            j+=1;
            if j==5 {
                break 'out_loop;//内循环跳出到外循环
            }
            println!("j:{}",j);
        }
    }

    //while循环使用
    let mut times = 5;
    while times >0 {
        println!("==={}",times);
        times-=1;
    }

    //for循环使用
    let arr = [1,2,3,4,5,6,7,8,9];
    //遍历数组
    for v in arr {
        println!("for循环:{}",v);
    }

    //范围遍历,反转
    for v in (1..21).rev()  {
        println!("for循环反转===:{}",v);
    }
}

输出:

相关推荐
wydaicls7 小时前
C语言对单链表的操作
c语言·数据结构·算法
傻童:CPU7 小时前
C语言需要掌握的基础知识点之排序
c语言·算法·排序算法
fox_lht8 小时前
第一章 不可变的变量
开发语言·后端·rust
fqbqrr8 小时前
2510rs,rust清单5
rust
计算机学姐10 小时前
基于微信小程序的高校班务管理系统【2026最新】
java·vue.js·spring boot·mysql·微信小程序·小程序·mybatis
一路向北⁢10 小时前
基于 Apache POI 5.2.5 构建高效 Excel 工具类:从零到生产级实践
java·apache·excel·apache poi·easy-excel·fast-excel
大数据张老师12 小时前
数据结构——邻接矩阵
数据结构·算法
低音钢琴12 小时前
【人工智能系列:机器学习学习和进阶01】机器学习初学者指南:理解核心算法与应用
人工智能·算法·机器学习
毕设源码-赖学姐13 小时前
【开题答辩全过程】以 基于Android的校园快递互助APP为例,包含答辩的问题和答案
java·eclipse
damo0113 小时前
stripe 支付对接
java·stripe