Rust variables: Difference between revisions

From wikinotes
No edit summary
Line 1: Line 1:
= Declaration =
<blockquote>
You may declare variables in rust, but it is not necessary.
<syntaxhighlight lang="rust">
let foo: u8;
</syntaxhighlight>
</blockquote><!-- Declaration -->
= Assignment =
= Assignment =
<blockquote>
<blockquote>

Revision as of 00:16, 7 September 2021

Declaration

You may declare variables in rust, but it is not necessary.

let foo: u8;

Assignment

let age: u8 = 200;   // typed
let age = 200u8;     // type-suffix
let age = 200;       // implied type

Literals

Literal types can be declared without assigning a type.

let float = 3.14;  // f64
let integer = 7;  // i32

Constants

Constants can be declared in any scope (including global).
constants cannot be changed once assigned.

const SALT: &str = "$6$r1ohStL5/UwpNnls";
static RETRIES: i8 = 5;

Mutability

All variables are immutable by default in rust.
You can make them mutable with the mut modifier.

let mut age: i8 = 30;
age += 1;

Scope

Variable scope is bound to the block they are defined in { ... }.
Blocks may be defined arbitrarily to create inner scopes.
Variables defined in outer scopes are accessible in inner scopes.

fn foo() {
  let foo = 1;
  {
    println!("{}", foo);
  }
}

Introspection

TODO:

learn

// use std::any::type_name;  (todo - learn)