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

分类: 计算机技术
推荐阅读:
Python compile()函数 在 Python 中,compile() 是一个内置函数,用于将字符串或AST对象编译成字节码或代码对象。编译后的字节码或代码对象可以在多个 Python 解释器中执行,从而避免每次执行时重新编译代码。
Python获取操作系统类型 在Python中,你可以使用platform模块来获取操作系统类型。具体来说,你可以使用platform.system()来获取当前操作系统的名称。
Rust语言计算斐波那契数列(Fibonacci) 本文将使用Rust语言递归实现斐波那契数列的计算;
PySide6 keyPressEvent:处理键盘按键按下的方法 keyPressEvent是在PySide6中用于处理键盘按键按下事件的方法。当用户在应用程序的窗口中按下键盘上的按键时,会触发keyPressEvent方法。您可以在此方法中编写代码,以响应按键事件并执行相应的操作。
Rust解析YAML,结构体序列化和反序列化 serde_yaml 是 Rust 的一个 crate,提供了支持将数据结构序列化为 YAML 格式,以及将 YAML 格式反序列化为 Rust 数据结构的功能。
PySide6 widgetAt()函数详细教程 Pyside6.QtWidgets.QApplication类的成员函数widgetAt()用于返回屏幕位置(x,y)处的小部件对象,如果那里没有Qt小部件,则返回None;该方法无法获取其它进程的Qt小部件;