“Rust“

用《Rust权威指南》重学Rust语言。

2021年初,我已经学习了一遍Rust基础,当时忙于其他内容,便把Rust放在了一边,如今年底有些空闲时间,复习一下Rust,捡一捡过去的知识点。该系列博客还是以个人笔记的形式进行梳理,若您想从头至尾的仔细学习Rust每个特性,那么您至少需要阅读其官方文档或找一本实打实的书逐字研读。

这是一门操作系统级别的语言,学习周期非常的长,如果不带有目的性学习,学完后也许收获甚微。各类编程语言设计哲学不一,所以对某些专业术语的解释也不一,可以类比着看,但是请不要说这个语言中的XX就是C++语言中的什么,可以说像C++中的某个特性。

逃不过艾宾浩斯记忆曲线。人的某些记忆会随着时间而淡忘。大概三年前,我放下Java投入Go语言的怀抱,三年多时间不写Java的项目,如果让我现在直接用Java去实现一个逻辑,那我是做不到的,但是依然可以读懂Java的代码。当时是因为用SSM实现某项目时,被其凌乱的配置文件搞得团团糟,加之区块链技术盛行,而Go语言是实现区块链的主力语言,所以一气之下,把Java放下了,但并非放弃。现在回头看,Java的生态已然成型,内卷程度也十分的高。

对技术不应有偏见。每一门编程语言的诞生都有它的使命,即使它不能在你的手里熠熠生辉,却可能在别人的项目上闪闪发光。

一个猜数字的游戏:

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

fn main() {
    println!("欢迎来到瞎猜数字游戏,请输入你猜的数字[1,100]:");
    let secret_number = rand::thread_rng().gen_range(1..=100);
    loop  {
        let mut guess = String::new();
        io::stdin().read_line(&mut guess).expect("invalid input");
        let guess:i32 = match guess.trim().parse(){
            Ok(num) => num,
            Err(_) => continue,
        };
        match guess.cmp(&secret_number) {
            Ordering::Less => println!("猜小了,请输入你猜的数字:"),
            Ordering::Equal => {
                println!("恭喜你,猜中了!");
                break;
            }
            Ordering::Greater => {println!("猜大了,请输入你猜的数字:");}
        }
    }
}

Cargo.toml

[package]
name = "learnRust"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
rand="0.8.5"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

metabit

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值