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 位。
Length Signed Unsigned 8-bit i8 u8 16-bit i16 u16 32-bit i32 u32 64-bit i64 u64 128-bit i128 u128 arch isize usize
有符号补码整数类型有:
Type Minimum Maximum 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
????