📜  Rust 中的标量数据类型

📅  最后修改于: 2022-05-13 01:54:21.092000             🧑  作者: Mango

Rust 中的标量数据类型

所有已初始化的变量在声明时都使用 data-type 来限制要存储的数据类型。因此,我们可以说数据类型用于告诉变量它们可以存储的数据类型。

在本文中,我们将专门讨论 Rust 编程语言中的标量数据类型。 Rust 中标量类型表示单个值。例如,int 数据类型仅存储单个整数数据,而不存储多个整数或不同数据类型的组合。

Rust 有四种主要的标量类型:

  • 整数
  • 浮点数字
  • 布尔值
  • 字符

让我们详细讨论它们。

整数类型

整数无处不在,整数是一个有符号且没有小数部分的整数。例如 1, 5, -9, 200001, -15489752 是整数



整数是 Rust 中的原始数据类型之一,Rust 编译器可以自动检测整数,程序员也可以明确定义整数类型。

例子:

Rust
fn main() {
   
      // implicitly defining int
    let x = 6;
   
      // explicitly defining unsigned int
    let y: u16 = 9;
   
      // explicitly defining signed int
    let z: i16 = -7;
    println!("{} {} {}", x,y,z);
}


Rust
fn main() {
// implicit floating number type
let x = 200.000;
// explicitly floating point type
let y: f64 = 9.894;
let z: f64 = -7.4;
println!("{} {} {}", x,y,z);
}


Rust
fn main() {
// true boolean
let x: bool = true;
// false boolean
let y: bool = false;
println!("{} {}", x,y);
}


Rust
fn main() {
    let s = 'z';
    let c = 'ℤ';
      println!("{} {}", s,c);
}


Rust
fn main() {
   
        // Default is "i32"
        let g = 9;
        println!("{}", g);
   
        // Default is "f64"
        let f = 2.9;
        println!("{}", f);
   
        // Add explicit type
        let e: i64 = 14122020;
        println!("{}", e);
   
        // Boolean
        let is_active: bool = true;
        println!("{}", is_active);
   
        // char
        let c = 'a';
        println!("{}", c);
        let face = '\u{1F600}';
        println!("{}", face);
}



输出:

6 9 -7

在 Rust 中,整数声明表示它所关联的值应该是一个以u开头的无符号整数或)有符号整数类型以i开头,占用 32 位空间,最少 8 位。

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



有符号补码整数类型有:

TypeMinimumMaximum
i8-(27)27 – 1
i16-(215)215 – 1
i32-(231)231 – 1
i64-(263)263 – 1
i128-(2127)2127 – 1

浮点类型

带小数部分的浮点数整数。例如 3.22、-5.89、200.0000。 Rust 也有一个用于浮点数的原始数据类型。 Rust 的浮点类型是 f32 和 f64,它们的大小分别为 32 位和 64 位。与整数一样,您可以显式和隐式定义浮点数。浮点数的语法

fn main() {
// implicit floating number type
let x = 200.000;
// explicitly floating point type
let y: f64 = 9.894;
let z: f64 = -7.4;
println!("{} {} {}", x,y,z);
}

输出

200 9.894 -7.4

布尔类型

Boolean类型是 Rust 提供的内置数据类型之一,由 True 或 False 关键字定义。一般用于表示表达式的真值。 Rust 中的布尔类型提供 1 位内存。 Rust 中的布尔类型是使用 bool 关键字指定的。

fn main() {
// true boolean
let x: bool = true;
// false boolean
let y: bool = false;
println!("{} {}", x,y);
}

输出:

true false

字符类型

字符数据类型用于存储字符。用于字符数据类型的关键字是char 。字符通常需要 1 字节的内存空间,范围从 -128 到 127 或 0 到 255。



例子:

fn main() {
    let s = 'z';
    let c = 'ℤ';
      println!("{} {}", s,c);
}


输出

z ℤ

具有所有标量数据类型的简单 Rust 程序:

fn main() {
   
        // Default is "i32"
        let g = 9;
        println!("{}", g);
   
        // Default is "f64"
        let f = 2.9;
        println!("{}", f);
   
        // Add explicit type
        let e: i64 = 14122020;
        println!("{}", e);
   
        // Boolean
        let is_active: bool = true;
        println!("{}", is_active);
   
        // char
        let c = 'a';
        println!("{}", c);
        let face = '\u{1F600}';
        println!("{}", face);
}

输出:

9
2.9
14122020
true
a
????