美文网首页
rust中的原始数据类型

rust中的原始数据类型

作者: 啥名都不好起 | 来源:发表于2024-05-06 10:16 被阅读0次

整数型

位长度 有符号 无符号
8-bit i8 u8
16-bit i16 u16
32-bit i32 u32
64-bit i64 u64
128-bit i128 u128
arch isize usize

isize和usize是当前操作系统处理数据的位长度大小,取决于所运行的目标平台

浮点数型

  • rust中支持32位浮点数(f32),和64位浮点数(f64),现代计算机中对于两种浮点数的处理速度相近,但64位浮点数精度更高

  • rust中不支持++和--操作

布尔型

  • rust中布尔型用bool表示,值只能是true或false

字符(串)型

  • 字符型用char表示
  • 字符串用String表示,标识可变长度的文本数据
  • rust中char类型大小为4字节(32bit),支持中文、日韩文字符等非英文字符,支持表情符号和零宽度空格,这些在rust中都是合法的char值
  • 中文编码有GBK和UTF-8两种,编程时最好都是用UTF-8,避免编译报错

复合类型

元组

  • rust中元组是用一对“()”包裹的数据,其中的数据项可以是不同的数据类型
  • rust中元组数据支持解构
let tup: (i32, f64, char) = (500, 23.125, 'rust');
let (x, y, z) = tup;

数组

  • rust中数组是用一对“[]”包裹的数据,其中的数据项必须是同类型的
  • 对于数组中的元素,如果需要进行修改时,在声明数组时也需要将数组声明为一个可变变量
  • 定义数组时声明类型时使用[]进行声明,其中使用冒号(;)进行分割,第一项时数组中数据的类型,第二项时数组的长度
  • 如果需要在数组中存放不同类型的数据可以使用rust中的枚举类/元组/结构体等实现
let a = [1, 2, 3, 4, 5];
// a 是一个长度为 5 的整型数组

let b = ["January", "February", "March"];
// b 是一个长度为 3 的字符串数组

let c: [i32; 5] = [1, 2, 3, 4, 5];
// c 是一个长度为 5 的 i32 数组

let d = [3; 5];
// 等同于 let d = [3, 3, 3, 3, 3];

let first = a[0];
let second = a[1];
// 数组访问

a[0] = 123; // 错误:数组 a 不可变
let mut a = [1, 2, 3];
a[0] = 4; // 正确

// 枚举实现多类型数组
enum Data {  
    Int(i32),  
    Float(f64),  
    String(String),  
    // ... 其他类型  
}  
fn main() {  
    let data_array: [Data; 3] = [Data::Int(1), Data::Float(3.14), Data::String("Hello".to_string())];  
}

// 元组实现多类型数组
fn main() {  
    let data_array: [(i32, f64, String); 3] = [  
        (1, 3.14, "One".to_string()),  
        (2, 2.71, "Two".to_string()),  
        (3, 1.61, "Three".to_string()),  
    ];  
}

// 使用结构体实现多类型数组
enum Value {  
    Int(i32),  
    Float(f64),  
    String(String),  
    // ... 其他类型  
}
struct Data {  
    value: Value
}  
  
// 然后你可以像这样使用它:  
let data_array: [Data; 3] = [  
    Data { value: Value::Int(1) },  
    Data { value: Value::Float(3.14) },  
    Data { value: Value::String("Hello".to_string()) }, 
];

相关文章

  • 读Rust程序设计语言 - 04

    语言/Rust 数据类型 - Rust 程序设计语言 简体中文版 数据类型 rust 声明的变量一定属于某一数据类...

  • JavaScript中的数据类型

    首先什么是JavaScript 中的数据类型? Javascript 中的数据类型包括原始类型和引用类型。其中原始...

  • 浅谈JavaScript中的数据类型

    一、js中的原始数据类型有哪几种? (1)js中的原始数据类型包括: Number String Boolean ...

  • JavaScript权威指南学习总结(1)

    1、数据类型 JavaScript数据类型分为:原始类型(存储在栈中)和对象类型(存储在堆中);原始类型包括:数字...

  • js深度克隆

    在JAVAScript中数据类型分为两种,一种是原始数据类型,另外一种就是引用数据类型。 数据类型 原始数据类型:...

  • Rust 数据类型

    在 Rust 中,每一个值都属于某一个 数据类型(data type),这告诉 Rust 它被指定为何种数据,以便...

  • JAVA的数据类型

    JAVA的数据类型主要分为,原始数据类型和非原始数据类型。原始数据类型就是JAVA自带的一些数据类型,非原始数据类...

  • 变量、作用域、内存

    原始值和引用值 JavaScript主要是包含两种数据类型,即原始值和引用值。原始值就是简单的数据类型,ES中包含...

  • JavaScript变量与数据类型

    1.JS中有哪些数据类型? JS中的数据类型包括7种原始数据类型和Object对象类型。 7 种原始类型如下: B...

  • 实现数组和对象的深浅拷贝

    前提:原始数据类型和对象类型赋值时的差异 JavaScript的数据类型分为原始数据类型和对象类型。二者在内存中存...

网友评论

      本文标题:rust中的原始数据类型

      本文链接:https://www.haomeiwen.com/subject/doykfjtx.html