• Rust-lang(hello world 续)


    loop

    上面的例子只能猜测一次,然后程序就停掉了,现在我们想不停的重复猜测,这里就用到循环了,当我们猜测正确的时候停止循环!

    fn main() {
        println!("Hello, world!");
    
        let secret_number = rand::thread_rng().gen_range(1,101);
    
        println!("Please gusses secret number  !");
    
        loop {
            let mut number = String::new();
    
            io::stdin().read_line(&mut number).expect("Failed to read_line");
    
            let number : u32 = number.trim().parse().expect("Please type a number");
    
            println!("Hello,your number is {}", number);
    
            println!("The secret number is: {}", secret_number);
    
            match number.cmp(&secret_number) {
               Ordering::Less => println!("too small!"),
               Ordering::Greater => println!("too big!"),
               Ordering::Equal => {
                println!("You win!");
                break;
               }
            }
        }
    
    }
    

    问题,又来了,当我们不小心输入错误,程序panic了,但是我们想重新输入,怎么办?

    fn main() {
        println!("Guess the number!");
    
        let secret_number = rand::thread_rng().gen_range(1, 101);
    
        println!("The secret number is: {}", secret_number);
    
        loop {
            println!("Please input your guess.");
    
            let mut guess = String::new();
    
            io::stdin().read_line(&mut guess)
                .expect("failed to read line");
    
            let guess: u32 = match guess.trim().parse() {
                Ok(num) => num,
                Err(_) => continue,
            };
    
            println!("You guessed: {}", guess);
    
            match guess.cmp(&secret_number) {
                Ordering::Less    => println!("Too small!"),
                Ordering::Greater => println!("Too big!"),
                Ordering::Equal   => {
                    println!("You win!");
                    break;
                }
            }
        }
    }
    
    用放荡不羁的心态过随遇而安的生活
  • 相关阅读:
    比服务器的问题
    android studio adb.exe已停止工作(全面成功版 进程的查询和开启)
    安卓学习123
    java eclipse 安卓环境配置
    host访问goole
    Android studio自带的sample例子
    马士兵2string buffuer
    tomcat内存溢出,设置
    spring mvc 学习笔记【1】---前言
    dbutils报错:com.microsoft.sqlserver.jdbc.SQLServerException: 无法识别元数据的表
  • 原文地址:https://www.cnblogs.com/re-myself/p/5532476.html
Copyright © 2020-2023  润新知