【rust杂乱笔记】






code . 打开vscode

fn main() {println!("hello world!")
}
 
















loop{}循环; break跳出循环
// 引入三方库
use rand::Rng;
// 引入标准库中的输入输出
use std::cmp::Ordering;
use std::io;// main函数 先执行main函数
fn main() {// 打印的宏方法// 打印提示信息println!("Guess the number!");//0. 生成随机数let secret_number = rand::thread_rng().gen_range(1, 101);// println!("secret_number is: {}", secret_number);println!("please input your guess");loop {// 1.新建guess 字符串变量  mut 表示可以修改的变量 是"mutable 可变的" 的简称let mut guess = String::new();// 2.读取输入  stdin 标准的输入方法   read_line输入方法中的获取输入的方法  &mut guess 是引用(可能是类似c中的取地址符)  expect??目前无法理解io::stdin().read_line(&mut guess).expect("failed to read");// 字符转化为数字  trim 去除前后空白字符  parse 转化为某种类型// 为了代码的健壮性,防止输入非数字是 崩溃  做如下处理let guess: u32 = match guess.trim().parse() {Ok(num) => num,     //成功返回numErr(_) => continue, //错误 不崩溃};// 打印输入的guess  {}是占位符 插入 后面的参数  可以 有多个{}占位符  一次对应 后面的参数println!("you guessed: {}", guess);// 3.比较两个数match guess.cmp(&secret_number) {Ordering::Less => println!("small"),Ordering::Greater => println!("large"),Ordering::Equal => {println!("you win !");break;}}}
}
 
 
 




    let i = 10;i = 20;//报错 不能修改let i = i + 20;//shadowprintln!("{}", i);//30 
 

fn main() {let guess: i32 = "87".parse().expect("not number");println!("{}", guess);
}
 
 













