襄阳地区网站建设公司应具备哪些关键需求?
摘要:网站建设需求有哪些,襄阳网站建设公司,选择邯郸做网站,wordpress图片验证码插件循环判断 ref: 流程控制 - Rust语言圣经(Rust Course) 判断 if conditiontrue { A...} else
网站建设需求有哪些,襄阳网站建设公司,选择邯郸做网站,wordpress图片验证码插件循环/判断 ref: 流程控制 - Rust语言圣经(Rust Course)
判断
if condition true {// A...
} else {// B...
}if 语句块是表达式#xff0c;所以可以为变量赋值#xff0c;当然要注意的是保证返回的类型相同#xff1a;
fn main() {let condition true;let number if c…循环/判断 ref: 流程控制 - Rust语言圣经(Rust Course)
判断
if condition true {// A...
} else {// B...
}if 语句块是表达式所以可以为变量赋值当然要注意的是保证返回的类型相同
fn main() {let condition true;let number if condition {5} else {6};println!(The value of number is: {}, number);
}循环
rust有三种循环方式for / while 和 loop。
for
for 元素 in 集合 {// 使用元素干一些你懂我不懂的事情
}// 例如输出1-5
fn main() {for i in 1..5 {println!({}, i);}for _ in 0..10 {// 循环中不使用 i}}在Rust中使用for遍历集合要注意所有权
使用方法等价使用方式所有权for item in collectionfor item in IntoIterator::into_iter(collection)转移所有权for item in collectionfor item in collection.iter()不可变借用for item in mut collectionfor item in collection.iter_mut()可变借用
如果是实现了copy特征的数组例如[i32,10]for item in arr 不会所有权转移而是直接进行了拷贝
两种循环方式优劣的比较
// 第一种
let collection [1, 2, 3, 4, 5];
for i in 0..collection.len() {let item collection[i];// ...
}// 第二种
for item in collection {}性能第一种方式使用索引访问时每次都会进行边界检查导致性能损耗而第二种方式不会触发这种检查因为在编译时便会确认这种访问方式是合法的。因此第二种方式性能更优。安全第一种方式通过索引访问存在两次访问之间collection发生变化导致脏数据产生的可能而第二种方式通过迭代连续访问由于所有权的限制数据不会发生变化所以第二种方式更加安全。
continue和break for i in 1..4 {if i 2 {continue;}println!({}, i);}
// 1 3for i in 1..4 {if i 2 {break;}println!({}, i);}
// 1while
fn main() {let mut n 0;loop {if n 5 {break}println!({}, n);n1;}println!(我出来了);
}while vs for:
while 与 for 通过索引便利一样在性能和安全上比不过 for 迭代器遍历。
loop
简单的无限循环
fn main() {loop {println!(again!);}
}loop通常与break一起使用break可以为 loop 语句块的返回值
fn main() {let mut counter 0;let result loop {counter 1;if counter 10 {break counter * 2;}};println!(The result is {}, result);
}
