mirror of
https://github.com/darkicewolf50/RustBrock.git
synced 2025-07-06 11:07:12 -06:00
tried out obsidian, started ch 6.2
This commit is contained in:
32
Variables.md
Normal file
32
Variables.md
Normal file
@ -0,0 +1,32 @@
|
||||
# Variables
|
||||
- Are Immutable by default
|
||||
- can be inferred but sometimes needs explicit typing
|
||||
|
||||
```rust
|
||||
let foo = 5;
|
||||
```
|
||||
- Need to add mut keyword to enable rewriting, generally avoid unless actually used
|
||||
|
||||
```rust
|
||||
let mut bar = 6;
|
||||
```
|
||||
|
||||
# SHADOWING
|
||||
|
||||
#### Cannot have mutable shadows
|
||||
|
||||
allows for reuse of namespace instead of spaces_str and spaces_num
|
||||
```rust
|
||||
let spaces = " _ _ ";
|
||||
let spaces = spaces.len();
|
||||
// will output 5 instead of " _ _ " beacuse that is how long it is
|
||||
// the shadow of spaces (first) wont be printed until the overshadow of spaces goes out of scope
|
||||
println!("{spaces}"); // output: 5
|
||||
```
|
||||
|
||||
not allowed shadow
|
||||
```rust
|
||||
let mut spaces = " _ _ ";
|
||||
spaces = spaces.len();
|
||||
```
|
||||
cannot change type of variable once declared
|
Reference in New Issue
Block a user