变量

要点
变量(let)默认不可变,如果要可变须要应用可变变量(关键字mut)

不可变变量

    let x = 0;    println!("The value of x is: {}", x);    x = 1; //Error cannot assign twice to immutable variable `x`    println!("The value of x is:{}", x);

第四行 x = 1; 会报错 Error cannot assign twice to immutable variable x

可变变量
在定义处加关键字“mut”则变量x变为可变变量

    let mut x = 0;    println!("The value of x is: {}", x);    x = 1;    println!("The value of x is:{}", x);

暗藏
同名变量能够屡次定义,最新定义的会笼罩之前定义的变量

    let v = 2;    let v = v+1;    let v = v*10;    println!("The value of v is:{}", v);

v的后果为30

类型

  1. 缺省类型
    数字缺省类型为i32
    浮点数缺省类型为f64
  2. 字符类型
    大小为4个字节
  3. 复合类型
  • 元组(tuple):将多个不同类型的只组合进一个复合类型。长度固定不可变

      应用点号后跟索引来拜访    ```rust      let t:(bool, char, i32, f64, u32) = (true, 'a', -12, 3.1415, 32);        println!("{},{},{},{},{}", t.0, t.1, t.2, t.3, t.4)  ```    解构元组值    ```rust      let (a, b, c, d, e) = t;        println!("{},{},{},{},{}",a, b, c, d, e)  ```
  • 数组(array):数组中每个元素类型必须雷同,长度固定不可变
    let num = [1,2,3,4,5];    let name = ["Tom", "Bill", "Bruce"];    let score = [60;3]; //[60, 60, 60];    let m = num[3];

for 循环

let num = [1,2,3,4,5];    for e in num.iter() {        println!("{}", e)    }    for i in 0..5 {        println!("{}", num[i])    }    //逆序    for i in (0..5).rev() {         println!("{}", num[i])    }

函数

关键字 fn

fn calculate(x:i32, y:i32) ->i32 {    let result = x + y;    return result;}