(资料图片)
match VALUE { PATTERN => EXPRESSION, PATTERN => EXPRESSION, PATTERN => EXPRESSION,}fn main() { let favorite_color: Option<&str> = None; let is_tuesday = false; let age: Result = "34".parse(); if let Some(color) = favorite_color { println!("Using your favorite color, {}, as the background", color); } else if if_tuesday { println!("Tuesday is green day!"); } else if let Ok(age) = age { if age > 30 { println!("Using purple as the background color"); } else { println!("Using orange as the background color"); } } else { println!("Using blue as the background color"); }} fn main() { let mut stack = Vec::new(); stack.push(1); stack.push(2); stack.push(3); while let Some(top) = stack.pop() { println!("{}", top); }}fn main() { let v = vec!["a", "b", "c"]; for (index, value) in v.iter().enumerate() { println!("{} is at index {}", value , index); }}fn main() { let a = 5; let (x, y, z) = (1, 2, 3); let (q, w) = (4, 5, 6); // 报错 类型不匹配 3 2}fn foo(x: i32) { // code goes here}fn print_coordinates(&(x, y): &(i32, i32)) { println!("Current location: ({}, {})", x, y);}fn main() { let point = (3, 5); print_coordinates(&point);}let x = 5;if let Some(x) = a_valuefn main() { let a: Option = Some(5); let Some(x) = a: // 报错 None if let Some(x) = a {} if let x = 5 {} // 警告} fn main() { let x = 1; match x { 1 => println!("one"), 2 => println!("two"), 3 => println!("three"), _ => println!("anything"), }}fn main() { let x = Some(5); let y = 10; match x { Some(50) => println!("Got 50"), Some(y) => println!("Matched, y = {:?}", y), _ => println!("Default case, x = {:?}", x), } println!("at the end: x = {:?}, y = {:?}", x, y);}fn main() { let x = 1; match x { 1 | 2 => println!("one or two"), 3 => println!("three"), _ => println!("anything"), }}fn main() { let x = 5; match x { 1..=5 => println!("one through five"), _ => println!("something else"), } let x = "c"; match x { "a" ..="j" => println!("early ASCII letter"), "k" ..="z" => println!("late ASCII letter"), _ => println!("something else"), }}struct Point { x: i32, y: i32,}fn main() { let p = Point { x: 0, y: 7 }; let Point { x: a, y: b } = p; assert_eq!(0, a); assert_eq!(7, b); let Point {x, y} = p; assert_eq!(0, x); assert_eq!(7, y); match p { Point {x, y: 0} => println!("On the x axis at {}", x), Point {x: 0, y} => println!("On the y axis at {}", y), Point {x, y} => println!("On neither axis: ({}, {})", x, y), }}enum Message { Quit, Move {x: i32, y: i32}, Write(String), ChangeColor(i32, i32, i32),}fn main() { let msg = Message::ChangeColor(0, 160, 255); match msg { Message::Quit => { println!("The Quit variant has no data to destructure.") } Message::Move {x, y} => { println!("Move in the x direction {} and in the y direction {}", x, y); } Message::Write(text) => println!("Text message: {}", text), Message::ChangeColor(r, g, b) => { println!("Change the color to red {}, green {}, and blue {}", r, g, b); } }}enum Color { Rgb(i32, i32, i32), Hsv(i32, i32, i32),}enum Message { Quit, Move {x: i32, y: i32}, Write(String), ChangeColor(Color),}fn main() { let msg = Message::ChangeColor(Color::Hsv(0, 160, 255)); match msg { Message::ChangeClolr(Color::Rgb(r, g, b)) => { println!("Change the color to red {}, green {}, and blur {}", r, g, b) } Message::ChangeColor(Color::Hsv(h, s, v)) => { println!("Change the color to hue {}, saturation {}, and value {}", h, s, v) } _ => (), }}struct Point { x: i32, y: i32,}fn main() { let ((feet, inches), Point {x, y}) = ((3, 10), Point {x: 3, y: -10});}fn foo(_: i32, y: i32) { println!("This code only uses the y parameter: {}", y);}fn main() { foo(3, 4);}fn main() { let mut setting_value = Some(5); let new_setting_value = Some(10); match (setting_value, new_setting_value) { (Some(_), Some(_)) => { println!("Can"t overwrite an existing customized value"); } _ => { setting_value = new_setting_value; } } println!("setting is {:?}", setting_value); let numbers = (2, 4, 6, 8, 16, 32); match numbers { (first, _, third, _, fifth) => { println!("Some numbers: {}, {}, {}", first, third, fifth) } }}fn main() { let _x = 5; let y = 10; // 创建未使用 警告 let s = Some(String::from("Hello")); if let Some(_s) = s { // if let Some(_) = s { println!("found a string"); } println!("{:?}", s); // 报错 }struct Point { x: i32, y: i32, z: i32,}fn main() { let origin = Point {x: 0, y: 0, z: 0}; match origin { Point {x, ..} => println!("x is {}", x), } let numbers = (2, 4, 8, 16, 32); match numbers { (first, .., last) => { println!("Some numbers: {}, {}", first, last); } } match numbers { (.., second, ..) => { // 报错 println!("Some numbers: {}", second) }, }}例子一:
fn main() { let num = Some(4); match num { Some(x) if x < 5 => println!("less than five: {}", x), Some(x) => println!("{}", x), None => (), }}例子二:
fn main() { let x = Some(5); let y = 10; match x { Some(50) => println!("Got 50"), Some(n) if n == y => println!("Matched, n = {:?}", n), _ => println!("Default case, x = {:?}", x), } println!("at the end: x = {:?}, y = {:?}", x, y);}例子三:
fn main() { let x = 4; let y = false; match x { 4 | 5 | 6 if y => println!("yes"), _ => println!("no"), }}enum Message { Hello {id: i32},}fn main() { let msg = Message::Hello {id: 5}; match msg { Message::Hello { id: id_variable @ 3..=7, } => { println!("Found an id in range: {}", id_variable) } Message::Hello {id: 10..=12} => { println!("Found an id in another range") } Message::Hello {id} => { println!("Found some other id: {}", id) } }} 标签:
精彩推荐
同花顺数据中心显示,上海莱士12月16日获融资买入3858 01万元,占当日买入金额的13 16%,当前融资余额...
龙海:G228线白坑交通量观测站正式开工建设
1、这要分情况,有些可以机洗,有些不可以,比如说像冬天的棉被、蚕丝被及羊毛被等比较厚的就不可以机洗...
明日废钢预测:今日国内废钢市场将稳定。今天国内废钢回收价格是多少?个别钢厂采购价格有所调整。钢铁焦...
证券代码:002411 证券简称:*ST 必康 公告编号:2022-157 ...
格隆汇12月16日丨第七届“格隆汇·全球投资嘉年华·2023”于12月15日一22日在线上盛大举行。在今天的格...
根据市场公开信息及12月15日披露的机构调研信息,鑫元基金近期对1家上市公司进行了调研,相关名单如下:...
如果有一天,你骑车走在街上,突然有人将你拦下,莫名指责你的车碰到了他,怎么办?近日,濮阳市公安局...
“退钱”,华泰柏瑞昔日爆款基金跌50%,副总经理李晓西遭吐槽
同花顺数据中心显示,芯碁微装12月14日获融资买入886 09万元,占当日买入金额的15 03%,当前融资余额7...
智通财经APP讯,辽宁能源(600758 SH)公告,截至2022年12月14日,公司股东辽宁交通投资有限责任公司(“...
日前,人社部、国家发改委等八部门印发《关于实施重点群体创业推进行动的通知》(下称《通知》)。《通知...
12月13日,银华价值优选混合最新单位净值为2 2823元,累计净值为7 5977元,较前一交易日下跌1 03%。...
截至2022年12月13日收盘,天目湖(603136)报收于28 92元,上涨1 97%,换手率2 7%,成交量5 03万手,成交额1 46亿元。
恒源煤电(600971)12月13日在投资者关系平台上答复了投资者关心的问题。投资者:请问,截至2022年十二月9...
克明食品12月10日发布投资者关系活动记录表,公司于2022年12月8日接受5家机构单位调研,机构类型为基金...
1、种植的时,鸡枞菌适合种植的时间是在每年的九月份到十月份这段时间内,这段时间内的温度和气候都是比...
证券代码:603690 证券简称:至纯科技 公告编号:2022-144 ...
香港交易及結算所有限公司及香港聯合交易所有限公司對本公告之內容概不負責,對其準確性或完整性亦不發...
10月30日,镇平县枣园镇党委书记刘柯兵到枣园镇招商引资项目镇平县振星铜业有限公司检查指导工作,与企...
仁和药业(000650)12月06日在投资者关系平台上答复了投资者关心的问题。投资者:请问市场上销售的 "仁和...
近日,山东省高级人民法院向社会通报全省法院消费者权益司法保护工作情况及10起典型案例。据了解,五年...
南京市19日通报,公安部门在疫情防控期间依法打击各类涉疫违法犯罪行为,截至3月18日,全市共查处各类涉...
日前,北京市人民政府新闻办公室举行新闻发布会,解读《北京市全民科学素质行动规划纲要(2021—2035年)...
资讯News
04-23
04-23
04-23
04-23
04-23
04-23
04-22
04-22
04-22
04-22
04-22
04-22
04-22
04-22
04-22
04-22
04-22
04-22
04-22
04-22
聚焦Policy
当好农民工的“护薪人” 近日,罗某等7名农民工在收到被拖欠的工资后,纷纷打电话向江西省南昌市...
“通讯录里所有人都知道我欠钱了” □ 本报记者 韩丹东 □ 本报见习记者 张守坤 ...
大连宝马车撞人案肇事司机被判死刑 本报讯 记者韩宇 10月29日,辽宁省大连市中级人民法院一审...
医院财务迷上网络赌博输光5000万元公款 □ 本报记者 马维博 □ 本报通讯员 汪宇堂 曹...
辊环车削 雕琢毫厘(工匠绝活) 【绝活看点】 23年来,雷虎始终扎根一线,改进钢材轧制工艺...
交警严查超标电动自行车挪用“白牌” 截至昨晚6时,处罚电动自行车违法行为共计6585笔;下一步将...
明起寒潮来袭 北方气温普降10℃以上 中央气象台预计,本周日北京平原地区最低气温降至-4℃左右...
多种蔬菜价格降幅达五成 包括菠菜、蒿子秆等 预计本月中旬蔬菜恢复供需平衡 本报讯(记者...
北京周日最低气温或达-4℃ 本报讯(记者 赵婷婷)北京青年报记者昨天从中央气象台获悉,新一股...
昌平一家四口确诊新冠肺炎 天通北苑第二社区升级为中风险地区 朝阳两涉疫校区及16所学校停课 ...