4.1基本类型
同其它语言一样,Rust也有自己的数据类型,以字母+数字的形式组成
比如在整数类型中
| 位长度 | 有符号 | 无符号 |
| 8bit | i8 | u8 |
| 16bit | i16 | u16 |
| 32bit | i32 | u32 |
| 64bit | i64 | u64 |
| 128bit | i128 | u128 |
| arch | isize | usize |
浮点以同样方式记录,只是以f开头而已,rust默认会将浮点数设定为f64,但你也可以手动指定其为f32类型
Rust支持加减乘除取余这些计算,但,与其他语言不同的是,它不支持自增运算
在此之外,Rust还自带一些数学计算方法,不像C语言一样需要导入math.h库进行计算
fn main(){
let x = 2.0;
println!("{}",x.sin());
println!("{}",x.cos());
println!("{}",x.tan());
println!("{}",x.sqrt());
println!("{}",x.powi(2));
println!("{}",x.ln());
}Rust还支持布尔类型(bool),值为true or false,字符类型(char)
Rust同样支持逻辑运算,包括但不限于不等关系,异或或和计算,也支持按位与或非计算
字符串类型会略有区别,当我们需要定义字符串时,我们需要这么定义
let str = String::from("HelloWorld");字符串有动态长度,意味着我们可以随时随地修改他的长度
str.push('a');
str.push_str('HelloAgain');也可以使用.len()函数来获得字符串的长度,但其实,&str类型比String类型用的更多一些,因为&str具备了String几乎全部的常用功能,如果不需要把一个字符串当作可编辑的数据对象时,可以优先使用&str
4.2 元组
同Python中的元组类似,可以简单的理解为一个不可修改的固定的数组,在rust中用小括号表示
let tup = (50,1.111,1); //等效于 let tup: (i32,f64,i32) = (50,1.111,1);
元组中可以有多个类型的数据,而不像数组一样只能使用相同的数据类型
我们可以使用元组名.索引来获取其中的值,在上述例子中,我们可以这样
println!("{}",tup.0); //输出504.3数组
数组不能灵活拓展,而是一个固定的组
let a = [1,2,3,4,5]; let b = ["low","medium","high"];
还可以快速初始化数组
let c = [3;5]; 等效于 let c = [3,3,3,3,3];
访问和修改同其他语言一样,使用数组名[索引]访问,索引从0开始,和字符串一样可以使用len()函数获取长度
评论