当前位置: 首页 > news >正文

梧州网站设计公司北京网站优化体验

梧州网站设计公司,北京网站优化体验,网站下载音乐,建设地方美食网站的目的cargo new guessing_game 创建项目 输入任意内容,并打印出来 main.rs: use std::io; // 像String这些类型都在预先导入的prelude里,如果要使用的不在prelude里,则需要显式导入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

alt

use std::io;
// 像String这些类型都在预先导入的prelude里,如果要使用的不在prelude里,则需要显式导入
use rand::Rng; // trait,类似golang的接口,定义了很多方法

fn main() {
    println!("猜数");

    let secret_number = rand::thread_rng().gen_range(1101); // [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)
}

alt

比较大小


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(1101); // [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,类似分支吧
    }
}
alt
alt

做多次猜测,直到猜对


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(1101); // [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;
            }
        }
    }
}
alt

本文由 mdnice 多平台发布

http://www.zhongyajixie.com/news/42201.html

相关文章:

  • 响应式网站头部网站制作网站推广
  • 宝鸡网站建设公司电话seo能从搜索引擎中获得更多的
  • 阿里巴巴如何做网站app拉新推广怎么做
  • 专业做室内设计的网站有哪些企业自建网站
  • 长沙商城网站国内做网站的公司
  • 网站域名验证搜索引擎营销分类
  • wordpress自带主题下载徐州百度seo排名
  • 象山县城乡建设局网站seo网络搜索引擎优化
  • wordpress做淘客网站seo主要优化哪些
  • 软件公司做网站常见的搜索引擎有哪些
  • 做带字头像的网站宁波seo托管公司
  • 糕点网站策划书怎样做一个网页
  • 站点创建seo实战密码第三版
  • 网站流量真难做网络推广优化网站
  • 自己做网站卖货多少钱网络广告策划的内容
  • 怀柔区建设委员会网站一起来看在线观看免费
  • 网站备案号如何获得清理大师
  • 公司做网站需要服务器吗现代网络营销的方式
  • dede网站地图文章变量安徽百度推广怎么做
  • 有没有教做黄色网站行业关键词查询
  • php婚庆网站源码全网最好的推广平台
  • seo网站页面诊断群排名优化软件官网
  • 外贸网站页面用什么做最好网络营销个人总结
  • 厦门 网站优化微信广告朋友圈投放
  • 网站建设需要什么教材各网站收录
  • html网页搭建金华seo扣费
  • 招聘网站建设初衷360关键词排名百度
  • 网站app搭建百度网页版链接地址
  • 做网站架构需要注意什么十大免费软文推广平台
  • 广州品牌seo网站推广建设企业网站多少钱