Rust从入门到实战系列一:变量绑定与解构

绑定和可变性
🌟 变量只有在初始化后才能被使用

fn main() {
let x: i32; // 未 初 始 化 , 但 被 使 用
let y: i32; // 未 初 始 化 , 也 未 被 使 用
println!("x is equal to {}", x);
}

🌟🌟 可以使用 mut 将变量标记为可变

fn main() {
let __ = 1;
__ += 2;
println!("x = {}", x);
}

变量作用域
🌟 作用域是一个变量在程序中能够保持合法的范围

fn main() {
let x: i32 = 10;
{
let y: i32 = 5;
println!("x 的 值 是 {}, y 的 值 是 {}", x, y);
}
println!("x 的 值 是 {}, y 的 值 是 {}", x, y);
}

🌟🌟

fn main() {
println!("{}, world", x);
}
fn define_x() {
let x = "hello";
}

变量遮蔽( Shadowing )
🌟🌟 若后面的变量声明的名称和之前的变量相同,则我们说:第一个变量被第二个同名变量遮蔽了(
shadowing )
// 只 允 许 修 改 assert_eq! 来 让 println! 工 作(在 终 端 输 出 42)
fn main() {
let x: i32 = 5;
{
let x = 12;
assert_eq!(x, 5);
}
assert_eq!(x, 12);
let x = 42;
println!(“{}”, x); // 输 出 “42”.
}

🌟🌟 修改一行代码以通过编译

let mut x: i32 = 1;
x = 7;
// 遮 蔽 且 再 次 绑 定
let x = x;
x += 3;
let y = 4;
// 遮 蔽
let y = "I can also be bound to text!";
}

未使用的变量
使用以下方法来修复编译器输出的 warning :
🌟 一种方法
🌟🌟 两种方法
注意: 你可以使用两种方法解决,但是它们没有一种是移除 let x = 1 所在的代码行

let x = 1;
}
// compiler warning: unused variable: `x`

变量解构
🌟🌟 我们可以将 let 跟一个模式一起使用来解构一个元组,最终将它解构为多个独立的变量

fn main() {
let (x, y) = (1, 2);
x += 2;
assert_eq!(x, 3);
assert_eq!(y, 2);
}
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值