English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Die grundlegenden Datentypen in Rust sind wie folgt.
Der Integer-Typ wird als Ganzzahl bezeichnet und wird nach der Bitlänge und dem有无signed geteilt in die folgenden Arten unterteilt:
Bitlänge | Signiert | Unsigniert |
---|---|---|
8-bit | i8 | u8 |
16-bit | i16 | u16 |
32-bit | i32 | u32 |
64-bit | i64 | u64 |
128-bit | i128 | u128 |
arch | isize | usize |
isize und usize sind zwei Ganzzahltypen, die zur Messung der Datengröße verwendet werden, deren Bitlänge vom Zielplattform abhängt, wenn 32 Bit-Architekturen der Prozessoren verwenden 32 Bit-Längen-Ganze.
Die Darstellung von Ganzzahlen kann wie folgt erfolgen:
Ganze | Beispiel |
---|---|
Dezimal | 98_222 |
Hexadezimal | 0xff |
Oktal | 0o77 |
Binär | 0b1111_0000 |
Byte (kann nur u8 Typ) | b'A' |
Es ist offensichtlich, dass einige Ganzzahlen einen Unterstrich in der Mitte haben, dieser Designansatz ermöglicht es den Menschen, den Wert eines sehr großen Numerers leichter zu erkennen.
Rust unterstützt wie andere Sprachen 32 Bit-Fließkomma-Zahlen (f32) und 64 Bit-Fließkomma-Zahlen (f64) bedeuten. Standardmäßig,64.0 wird 64 Bit-Fließkomma-Zahlen, da moderne Computerprozessoren die Geschwindigkeit der Berechnung für beide Fließkomma-Zahlen fast gleich sind, aber 64 Bit-Fließkomma-Zahlen haben eine höhere Präzision.
fn main() { let x = 2.0; // f64 let y: f32 = 3.0; // f32 }
Verwende ein Programm, um mathematische Operationen widerzuspiegeln:
fn main() { let sum = 5 + 10; // Addition let difference = 95.5 - 4.3; // Subtraktion let product = 4 * 30; // Multiplikation let quotient = 56.7 / 32.2; // Division let remainder = 43 % 5; // Modulo }
Viele Operationssymbole mit dem Gleichheitszeichen += sind Selbstoperationen, zum Beispiel:
sum += 1 ist gleich sum = sum + 1.
注意:Rust unterstützt nicht ++ und --, da diese beiden Operatoren die Lesbarkeit des Codes beeinträchtigen und die Wahrnehmung der Änderungen an Variablen durch Entwickler schwächen.
Der boolesche Typ wird mit bool dargestellt, der nur die Werte true oder false haben kann.
Der Zeichentyp wird mit char dargestellt.
Die Größe des char-Typs in Rust beträgt 4 Ein Byte repräsentiert einen Unicode-Skalarenwert, was bedeutet, dass er Chinesisch, Japanisch, Koreanisch und andere nicht-englische Zeichen sowie Emojis und Nullbreiten-Leerzeichen in Rust als gültigen char-Wert unterstützt.
Unicode 值的范围从 U+0000 到 U+D7FF 和 U+E000 到 U+10FFFF (包括两端)。 但是,"字符"这个概念并不存在于 Unicode 中,因此您对"字符"是什么的直觉可能与Rust中的字符概念不匹配。所以一般推荐使用字符串存储 UTF-8 文字(非英文字符尽可能地出现在字符串中)。
注意:由于中文文字编码有两种(GBK 和 UTF-8),所以编程中使用中文字符串有可能导致乱码的出现,这是因为源程序与命令行的文字编码不一致,所以在 Rust 中字符串和字符都必须使用 UTF-8 编码,否则编译器会报错。
元组用一对 ( ) 包括的一组数据,可以包含不同种类的数据:
let tup: (i32, f64, u8) = (500, 6.4, 1); // tup.0 等于 500 // tup.1 等于 6.4 // tup.2 等于 1 let (x, y, z) = tup; // y 等于 6.4
数组用一对 [ ] 包括的同类型数据。
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; // 正确