Rust学习(二):数据类型

标量类型

标量只包含一个值,有整数,浮点数,布尔值,字符。

整数

rust中整数类型一共有6种。

LengthSignedUnsigned
8-biti8u8
16-biti16u16
32-biti32u32
64-biti64u64
128-biti128u128
archisizeusize

每一个有符号整数的范围是-2^{n-1}到​2^{n-1}-1,例如i8范围为-2^{7}到​ 2^{7}-1

每一个无符号整数的范围为02^{n}-1​,例如u8范围为0到​2^{8}-1

另外,isize和usize根据具体电脑而定:如果是64位系统,那么为64-bit。如果是32位系统,则为32-bit。

浮点数

rust有两种浮点类型,分别为f32和f64。默认类型为f64。

fn main(){
    let x = 2.0; //f64
    let x: f32 = 3.0; //f32
}

布尔类型

和其他语言一样,布尔类型有两种值:true和false。使用关键字bool来标识

fn main(){
    let x = true;
    let x: bool = false; //显式声明
}

字符类型

字符类型使用关键字char来显示定义。字符类型使用单引号,字符串使用双引号。

fn main(){
    let c = 'z';
    let z = 'Z';
    let k: char = '1';
}

rust种一个字符由四个字节构成。它不仅包含ASCII,还包括中文,日文,韩文字符,表情,0宽度空格。

复合类型

复合类型一种类型可以代表多个值,主要有两种复合类型:tuples和arrays。

元组

元组的个数,可以为1、2、3······

fn main(){
    let tup: (i32, f64, u8) = (500, 6.4, 1);
}

通过自动匹配的方式,可以获得元组单个值。

fn main(){
    let tup = (500, 6.4, 1);
    let (x, y, z) = tup;
    println!("{}", y); // 6.4
}

另外可以通过(.)来获取单个值。

fn main(){
    let x : (i32, f64, u8) = (500, 6.4, 1);
    let five_hundred = x.0;
    let six_point_four = x.1;
    let one = x.2;
}

数组

和tuple不同,数组内的每一个元素类型必须一样,rust中数组的长度是固定的。

数组使用方括号。

  • 数组的定义

fn main(){
    let a = [1, 2, 3, 4, 5];
}

fn main(){
    let a: [i32; 5] = [1, 2, 3, 4, 5];
}
  • 数组的初始化

    fn main(){
        let a = [3; 5]; // a = [3, 3, 3, 3, 3]
    }

  • 数组访问

    数组通过下标访问,[]

    fn main(){
        let a = [1, 2, 3, 4, 5];
        let x = a[0];
        let y = a[1];
    }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值