From 11e4515c7856b13b6f6cff7116736da2070e3919 Mon Sep 17 00:00:00 2001 From: Shikong <919411476@qq.com> Date: Sun, 10 Jul 2022 16:01:45 +0800 Subject: [PATCH] =?UTF-8?q?4.variable=20=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 4.variables/Cargo.toml | 8 ++++++++ 4.variables/src/main.rs | 28 ++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 4.variables/Cargo.toml create mode 100644 4.variables/src/main.rs diff --git a/4.variables/Cargo.toml b/4.variables/Cargo.toml new file mode 100644 index 0000000..f1cad76 --- /dev/null +++ b/4.variables/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "variables" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/4.variables/src/main.rs b/4.variables/src/main.rs new file mode 100644 index 0000000..e5b5d9f --- /dev/null +++ b/4.variables/src/main.rs @@ -0,0 +1,28 @@ +// 常量必须声明类型 可在任意作用域中声明 +// 命名格式 大写字母 + 下划线分隔 +const CONST_X: u32 = 100_000; + +fn main() { + println!("常量 CONST_X 的 值为 {}", CONST_X); + + // 默认为 不可变变量 + // let x = 5; + + // mut 关键字声明为可变变量 + let mut x = 5; + println!("变量 x 的值为 {}", x); + + x = 6; + println!("变量 x 的值为 {}", x); + + // shadow 隐藏 + // 可以使用相同的名字声明新的变量, 新的变量就会隐藏之前声明的同名变量 + // 若使用 let 声明新的同名变量, 那么新的变量也是不可变的 + // 使用 let 声明新的变量, 它的类型可以与之前不同 + let y = 2; + println!("变量 y 的值为 {}",y); + + let y = (y * 2).to_string(); + println!("变量 y 的值为 {}",y); + +}