变量
要点
变量 (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;
}