加载中...
第一次Rust
发表于:2022-05-27 | 分类: code
字数统计: 240 | 阅读时长: 1分钟 |

rust的特性就是安全,还带有好用的包管理器cargo。因为rust创建工程就自带一个hello world,所以我按照昨天java课上写的自动猜数字用rust复刻了一个。

rust的代码提示好像还不太成熟,做的时候一个全局变量就搞得我头昏脑涨,查半天上了个unsafe{}。本是为了安全的语言结果第一次就要用上unsafe代码😂。

应该还能写得更好,但是昨晚没睡够,看rust看了一早上看得头昏,不管了。

use rand::Rng;
use std::cmp::Ordering;

static mut SECERT_NUMBER: i32 = 0;

fn main() {
    unsafe{SECERT_NUMBER = rand::thread_rng().gen_range(1..101);}
    println!("Guess the number!");
    println!("{}是对的", guessing(0, 100));
}

fn guessing(minimum: i32, maximum: i32)  -> i32 {
    let middle = minimum + (maximum - minimum)/2;
    unsafe{
        match &middle.cmp(&SECERT_NUMBER) {
        Ordering::Greater => {
            println!("{}太大了", middle);
            guessing(minimum, middle)},
        Ordering::Less => {
            println!("{}太小了", middle);
            guessing(middle, maximum)},
        Ordering::Equal => middle
        }
    }
}
上一篇:
第二次Rust
下一篇:
【Java】实验三 子类与继承(及之后的实验)
本文目录
本文目录