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);
    }
}

输出:

相关推荐
Edingbrugh.南空24 分钟前
Flink ClickHouse 连接器数据读取源码深度解析
java·clickhouse·flink
NE_STOP36 分钟前
SpringBoot--简单入门
java·spring
DoraBigHead1 小时前
小哆啦解题记——映射的背叛
算法
Heartoxx1 小时前
c语言-指针与一维数组
c语言·开发语言·算法
hqxstudying1 小时前
Java创建型模式---原型模式
java·开发语言·设计模式·代码规范
孤狼warrior1 小时前
灰色预测模型
人工智能·python·算法·数学建模
京东云开发者1 小时前
京东零售基于国产芯片的AI引擎技术
算法
Dcs1 小时前
VSCode等多款主流 IDE 爆出安全漏洞!插件“伪装认证”可执行恶意命令!
java
保持学习ing1 小时前
day1--项目搭建and内容管理模块
java·数据库·后端·docker·虚拟机
京东云开发者2 小时前
Java的SPI机制详解
java