变量
要点
变量(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
类型
- 缺省类型
数字缺省类型为i32
浮点数缺省类型为f64 - 字符类型
大小为4个字节 - 复合类型
元组(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;}