网站规划建设论文,手机网站弹出提示框,在深圳做网站平台需要什么备案,黄冈市建设信息网站cargo new guessing_game 创建项目 输入任意内容#xff0c;并打印出来 main.rs: use std::io; // 像String这些类型都在预先导入的prelude里#xff0c;如果要使用的不在prelude里#xff0c;则需要显式导入fn main() { println!(猜数); println!(… cargo new guessing_game 创建项目 输入任意内容并打印出来 main.rs: use std::io; // 像String这些类型都在预先导入的prelude里如果要使用的不在prelude里则需要显式导入fn main() { println!(猜数); println!(猜测一个数); let mut guess String::new(); //String::new()返回一个String实例创建一个空白的字符串 // 读取一行内容,放到guess里; (io::stdin()返回一个句柄) io::stdin().read_line(mut guess).expect(无法读取行);// 引用在Rust里默认也是不可变的所以需要mut // {}为占位符类似golang里的%s%d println!(你猜测的数是:{}, guess)} 生成随机数 Cargo.toml [package]
name guessing_game
version 0.1.0
edition 2018# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html[dependencies]
rand ^0.3.14 # ^代表任何与0.3.14这个版本公共api兼容的版本都可以rand包还依赖libc use std::io;// 像String这些类型都在预先导入的prelude里如果要使用的不在prelude里则需要显式导入use rand::Rng; // trait类似golang的接口定义了很多方法fn main() { println!(猜数); let secret_number rand::thread_rng().gen_range(1, 101); // [a,b) println!(神秘数字是{}, secret_number); println!(猜测一个数); let mut guess String::new(); //String::new()返回一个String实例创建一个空白的字符串 // 读取一行内容,放到guess里; (io::stdin()返回一个句柄) io::stdin().read_line(mut guess).expect(无法读取行);// 引用在Rust里默认也是不可变的所以需要mut // {}为占位符类似golang里的%s%d println!(你猜测的数是:{}, guess)} 比较大小 use std::io;use std::cmp::Ordering;// 像String这些类型都在预先导入的prelude里如果要使用的不在prelude里则需要显式导入use rand::Rng; // trait类似golang的接口定义了很多方法fn main() { println!(猜数); // i32 u32 i64,不指定则默认i32 let secret_number rand::thread_rng().gen_range(1, 101); // [a,b) println!(神秘数字是{}, secret_number); println!(猜测一个数); let mut guess String::new(); //String::new()返回一个String实例创建一个空白的字符串 // 读取一行内容,放到guess里; (io::stdin()返回一个句柄) io::stdin().read_line(mut guess).expect(无法读取行);// 引用在Rust里默认也是不可变的所以需要mut // shadow, 隐藏用同名变量隐藏旧变量 // trim 去掉空格等 // parse 将字符创串装换为u32 类型 let guess: u32 guess.trim().parse().expect(Please type a number!); // {}为占位符类似golang里的%s%d println!(你猜测的数是:{}, guess); match guess.cmp(secret_number) { Ordering::Less println!(Too small!), //arm,类似分支吧 Ordering::Greater println!(Too big!), //arm,类似分支吧 Ordering::Equal println!(You win!), //arm,类似分支吧 }} 做多次猜测直到猜对 use std::io;use std::cmp::Ordering;// 像String这些类型都在预先导入的prelude里如果要使用的不在prelude里则需要显式导入use rand::Rng; // trait类似golang的接口定义了很多方法fn main() { println!(猜数); // i32 u32 i64,不指定则默认i32 let secret_number rand::thread_rng().gen_range(1, 101); // [a,b) println!(神秘数字是{}, secret_number); loop { println!(猜测一个数); let mut guess String::new(); //String::new()返回一个String实例创建一个空白的字符串 // 读取一行内容,放到guess里; (io::stdin()返回一个句柄) io::stdin().read_line(mut guess).expect(无法读取行);// 引用在Rust里默认也是不可变的所以需要mut // shadow, 隐藏用同名变量隐藏旧变量 // trim 去掉空格等 // parse 将字符创串装换为u32 类型 let guess: u32 match guess.trim().parse() { // match是rust错误处理的惯用方式 Ok(num) num, Err(_) continue, //_表示舍弃不关心 }; // {}为占位符类似golang里的%s%d println!(你猜测的数是:{}, guess); match guess.cmp(secret_number) { Ordering::Less println!(Too small!), //arm,类似分支吧 Ordering::Greater println!(Too big!), //arm,类似分支吧 Ordering::Equal { println!(You win!); break; } } }} 本文由 mdnice 多平台发布