Rust 小试牛刀

一、C++ 环境

必须安装 C++ 环境,因为 Rust 依赖 C++ 编译环境,可以通过安装 Visual Studio 系列一步到位,版本不需要太高。其他方案为安装 x86_64-pc-windows-msvc、x86_64-pc-windows-gnu。

二、IDEA 插件

在插件商店搜索 “Rust” 即可,如图。

三、 Rust

官网地址 安装 Rust - Rust 程序设计语言

下载之后直接运行,输入 1 回车即可。

四、环境验证

# 查看rust版本
rustc --version
# 查看cargo版本
cargo -V
# 更新rust
rustup update
# 卸载rust
rustup self uninstall
# 查看本地文档
rustup doc

五、创建项目

# 使用cargo创建项目
cargo new 项目名
# 编译,生成 EXE 可执行程序
cargo build
# 运行
cargo run

# 直接编译代码文件,生成 EXE 可执行程序
rustc hellorust.rs

六、修改 Rust 镜像源

# $CARGO_HOME/.cargo/ 下创建 config.toml
$ touch config.toml

# 添加以下内容

[source.crates-io]
replace-with = 'ustc'

[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"

七、学习资料

参考 Rust Course

八、变量与基本类型

类型说明
数值

> 有符号整数 (i8i16i32i64isize)

> 无符号整数 (u8u16u32u64usize)

> 浮点数 (f32f64)

> 有理数、复数

字符串字符串字面量和字符串切片 &str
布尔truefalse
字符表示单个 Unicode 字符,存储为 4 个字节
单元即 () ,其唯一的值也是 ()

Rust 基本类型

知道了 Rust 的基本类型,那怎样去定义某种类型的变量呢?

Rust 的变量命名跟其他语言无异,需要遵守相关规范,定义变量时通过关键字 let 实现,默认为不可变的变量,若需定义可变变量,则新增 mut 关键字修饰,示例如下:

fn main() {
    // 定义不可变变量
    let x: i32 = 5;
    println!("The value of x is: {}", x);
    // 尝试修改 x 的值会报错
    // x = 6;

    // 定义可变变量,默认情况下属于 i32 类型
    let mut y = 6;
    println!("The value of y is: {}", y);
    // 修改 y 的值不会报错
    y = 5;

    // 类型推导,右边类型不能确定,报错
    // let guess = "42".parse().expect("Not a number!");
    // 类型不能推导时,需要显式指定
    let guess = "42".parse::<i32>().expect("Not a number!");
    // 或者 let guess: i32 = "42".parse().expect("Not a number!");
}

事实上,定义了变量并将某个对应类型的值赋予该变量的过程称为“变量绑定”,例如 let x: i32 = 5; 则是将数值 5 与变量 x 做绑定,这同样可以理解为赋值过程,但更准确的定义为绑定,因为这涉及 Rust 的核心原则——所有权

可以这么理解,这是便于内存对象回收,我买了一张电话卡,绑定了自己的身份证,不再使用这种电话卡时,需要去营业厅注销这张卡,防止卡遗失后被坏人使用。内存对象(值)与某个变量绑定后,当变量不再使用时,内存对象(值)同时跟着释放,这种构思非常巧妙~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

余衫马

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

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

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

打赏作者

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

抵扣说明:

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

余额充值