栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

rust控制流

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

rust控制流

控制流

条件表达式

if a == true{ //1

}else if a == false{//2

}else{

}

1,2处与其他编程语言不同,为了安全, rust不接受 如C语言 if(value)或if(!value)简化判断表达式的方式,必须如1,2写全。

for 循环

for n in 1..100{

}
for n in 迭代器{
    
}
//左闭右开的区别
1..100
1..=100
//这种可以类似python range的语法糖可以快速构建一个数字序列迭代器

while 循环

while a==10{
    
}

loop循环

loop{

}

循环相关关键字

//break
//continue
//continue 与其他语言一致 
//break 有三种用法

//1
loop{
	break; //默认跳出当前循环
}

//2
let a = loop{
	
	break 10; //打断循环 并返回10 (结果)  for循环无法使用

}

//3
//跳出嵌套循环的某一个循环
'a:loop{

	'b:loop{
	
			break 'a; //直接跳出 'a 标记的循环
	}



}

匹配表达式

 let a = 42;
 match a {
        0 => println!("这是0"),
        1|2|3 => println!("这是1或者2或者3"),//1或2或3
        4..=41 => println!("这是4到45 闭区间"),//匹配4到41
        n@42 => println!("这是{}",n),//绑定值 与前三表达是可以一起使用
        _ => println!("这超出0到42"), //必须存在默认值
    }

还有别的形式的匹配表达式

if let

// if let 
let a = 70;
   
    if let 0 = a{
        println!("这是0");
    }
    else if let 1|2|3 = a{
        println!("这是1或者2或者3");
    }
    else if let 4..=41 = a{
        println!("这是4到45 闭区间");
    }
    else if let n@42 = a{
         println!("这是{}",n);
    }
    else { //除了这里与match不同 ,其他匹配表达式都一样
        println!("这超出0到42");
    }

while let

//不断匹配 直到结束
let mut v = vec![1,2,3,4,5];
while let Some(x) = v.pop(){ 
	println!("{}",x)
}
//上面的匹配表达式同样好使
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/947790.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号