Rust中的数据类型

在本文中,将介绍Rust中的整型、浮点型、布尔类型、字符类型、元组类型、数组类型的声明和简单使用方法;

Rust属于静态类型语言,在编译时就必须知道所有变量的类型;有时变量没有指定类型,编译器也可以根据值及其使用方式,推断出其类型;

整型

fn main() {
    let _a = 5; //默认为i32
    let _b:i8 = -12;
    let _c:u8 = 255;
    let _d:i16 = -666;
    let _e:u16 = 666;
}
长度 有符号整型 无符号整形
8bit i8 u8
16bit i16 u16
32bit i32 u32
64bit i64 u64
128bit i128 u128

可以是多种数字类型的数字面值允许使用类型后缀,例如:255u8表示8位无符号整型;

    let _a = 255u8;

也可使用_作为分隔符以方便阅读;

    let _a:u32 = 133_333_333; // 133333333
    let _b:u8 = 0b1111_0000; //240

Rust中整型的字面值

十进制 123,123_45
十六进制 0xffff
八进制 0o77
二进制 0b1111_0000
Byte(仅限于u8) b'a'

浮点型

Rust中有两个浮点型类型f32f64,分别占32位和64位,用于表示带小数点的数;f32是单精度浮点数,f64是双精度浮点数;

    let _x = 3.14159; //默认为f64
    let _y:f32 = 5.20; //f32
    let _z:f64 = 6.66; //f64

所有的浮点型都是有符号的,不存在无符号浮点型;

布尔型

Rust中的布尔类型用bool表示,有truefalse两个值;

    let _x = true; //编译器能推断类型为bool
    let _y:bool = false;

字符类型

Rust中使用char表示字符类型;

    let _c = 'a';
    let _z:char = 'b';

元组类型

在Rust中,使用包含在圆括号中的逗号分隔的值列表来创建一个元组,元组中的每一个位置都有一个类型,这些不同值得类型也不必是相同得;

    let tup: (i32, f64, i8) = (123, 3.14159, -1);

元组的长度是固定的,一旦声明,其长度不能增大或减小;

访问元组中的元素

    let tup: (i32, f64, i8) = (123, 3.14159, -1);
    let (x,y,z) = tup;//x=123,y=3.14159,z=-1
    let a = tup.0; //a=123
    let b = tup.1; //b=3.14159
    let c = tup.2; //c=-1

数组类型

在Rust中,将数组的值写在方括号内,用逗号分隔;与元组不同,数组中的每个元素必须相同;Rust中数组的长度是固定的;

    let a = [1,2,3,4,5];
    let b:[i32;5]=[4,5,6,7,8]; //i32表示元素类型,5表示元素数量
    let x = [8;6]; //x包含6个元素,这些元素的初始值都为 8

访问数组中的元素

    let a = [1,2,3,4,5];
    
    println!("first number: {}",a[0]);

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/rust-data-types.html

分类: 计算机技术
推荐阅读:
C语言计算卡特兰数(catanlan number) 卡特兰数(Catalan number),是组合数学中一种常出现于各种计数问题中的数列;本文使用C语言来计算卡特兰数;
WHOIS协议Python和Golang的实现 WHOIS协议是一个非常简单的Internet信息查询协议;在RFC812文档中有定义,先向服务器的TCP 43端口建立一个连接,发送要查询的域名关键字并以回车换行结尾,然后接收服务器返回信息,服务器输出完毕后会立即断开连接。
rand()和srand()函数在C语言中的应用 本文通过示例介绍rand()函数和srand()函数在C语言中的用法;
Qt在Windows11下的视觉效果 作者更新到Windows11了,来看看Qt在Windows11下的视觉效果;变化比较明显的是窗口,PushButton控件和输入框控件;
什么是控制字符? 控制字符是ASCII码表中的一部分字符,其编码在0到31之间(包括0和31),以及字符127;这些字符通常不用于显示文本,而是用于控制计算机的输入输出,或者用于传输数据时控制信息;
Python实现列表去重的多种方法及性能对比 本文将通过多种方法实现列表(List)去重(将列表中的重复项删除);其中包括使用常规方法去重、set()集和去重、使用enumerate()去重、和使用collections.OrderedDict.fromkeys()实现去重;并编写了测试代码来测试这些去重方法的性能、以及去重后元素的排序是否改变;