• Rust简单demo


    Rust基础学习:

      Rust的学习门槛是比较低的,最起码的官网支持所有语言,而且《Rust程序设计》这门基础入门书记在GitBook上也是能找到的,这里就不赘述了,书的学习地址:https://legacy.gitbook.com/book/kaisery/trpl-zh-cn/details

    Rust实例:

      1. 输入输出demo:

    use std::io;
    
    // 输入输出demo
    fn main() {
        // 这里添加!是因为调用的是系统宏,如果是自己写的函数是不需要!
        println!("Hello, world!");
        println!("Please input your guess: ");
        
        let mut guess = String::new();
        // 使用了std库来读取数据到guess可变变量中
        io::stdin().read_line(&mut guess)
            .expect("Failed to read line"); // 这里使用read_line会返回一个io::Result对象(OK,Err)
            // 需要判断后处理,不然会抛错,也就是说必须执行异常处理。
        
        println!("You guessed: {}",guess)
    }
    

      2. 使用crate(rust的代码包),来增加第三方功能,下面引用第三方的rand包,随机生成数字,然后和我们猜的进行比较。

    use std::io;
    // 需要在Cargo.toml中依赖中添加rand="0.5.5"
    use rand::Rng;
    
    // 输入输出demo
    fn main() {
        // 这里添加!是因为调用的是系统宏,如果是自己写的函数是不需要!
        println!("Hello, world!");
        println!("Please input your guess.");
        
        let mut guess = String::new();
        // 使用了std库来读取数据到guess可变变量中
        io::stdin().read_line(&mut guess)
            .expect("Failed to read line"); // 这里使用read_line会返回一个io::Result对象(OK,Err)
            // 需要判断后处理,不然会抛错,也就是说必须执行异常处理。
    
            
        // 生成随机数
        let secret_number = rand::thread_rng().gen_range(1,101);
        println!("The secrect number is {}",secret_number);
        println!("You guessed: {}",guess)
    }
    

      3. 完整的demo例子

    use std::io;
    // 需要在Cargo.toml中依赖中添加rand="0.5.5"
    use rand::Rng;
    use std::cmp::Ordering;
    
    // 输入输出demo
    fn main() {
        // 这里添加!是因为调用的是系统宏,如果是自己写的函数是不需要!
        println!("Hello, world!");
        
        // 生成随机数
        let secret_number = rand::thread_rng().gen_range(1,101);
        println!("The secrect number is {}",secret_number);
    
        loop {
            println!("Please input your guess.");
            let mut guess = String::new();
            // 使用了std库来读取数据到guess可变变量中
            io::stdin().read_line(&mut guess)
                .expect("Failed to read line"); // 这里使用read_line会返回一个io::Result对象(OK,Err)
                // 需要判断后处理,不然会抛错,也就是说必须执行异常处理。
            
            // 转换成数字, 支持隐藏覆盖功能shadowing
            let guess:u32 = guess.trim().parse()  // parse 会根据:u32判断出要转换成的类型
                //.expect("Please type a number"); // 转换也可能出错所以需要使用判断std::Result
                {
                    Ok(num) => num,
                    Err(_) => continue,   // 输入错误后可以继续
                }
    
            println!("You guessed: {}",guess);
        
            // 使用match来多路选择
            match guess.cmp(&secret_number) {
                Ordering::Less => println!("Too small"),
                Ordering::Greater => println!("Too big"),
                Ordering::Equal => {
                    println!("You win");
                    break;
                }
            }
        }
    }
  • 相关阅读:
    ent 基本使用十二 字段
    ent 基本使用十一 sql.DB 集成
    ent 基本使用十 数据库迁移
    ent 基本使用九 代码生成
    ent 基本使用八 索引
    ent 基本使用七 Config
    ent 基本使用六 Mixin
    ent 基本使用五 schema介绍
    ent 基本使用四 图遍历查询
    ent 基本使用 三 边(关系处理)
  • 原文地址:https://www.cnblogs.com/double-W/p/13065220.html
Copyright © 2020-2023  润新知