rust 資料型別
rust 語言中的基礎資料型別有以下幾種。
整數型(integer)
整數型簡稱整型,按照位元位長度和有無符號分為一下種類:
位長度有符號
無符號8-bit
i8u8
16-bit
i16u16
32-bit
i32u32
64-bit
i64u64
128-bit
i128
u128
arch
isize
usize
isize 和 usize 兩種整數型別是用來衡量資料大小的,它們的位長度取決於所執行的目標平台,如果是 32 位架構的處理器將使用 32 位位長度整型。
整數的表述方法有以下幾種:進製例
十進位制98_222
十六進製制
0xff
八進位制0o77
二進位制0b1111_0000
位元組(只能表示 u8 型)
b'a'
很顯然,有的整數中間存在乙個下劃線,這種設計可以讓人們在輸入乙個很大的數字時更容易判斷數字的值大概是多少。
浮點數型(floating-point)
rust 與其它語言一樣支援 32 位浮點數(f32)和 64 位浮點數(f64)。預設情況下,64.0 將表示 64 位浮點數,因為現代計算機處理器對兩種浮點數計算的速度幾乎相同,但 64 位浮點數精度更高。
例項fn main() {
let x = 2.0; // f64
let y: f32 = 3.0; // f32
數**算
用一段程式反應數**算:
例項fn main() {
let sum = 5 + 10; // 加
let difference = 95.5 - 4.3; // 減
let product = 4 * 30; // 乘
let quotient = 56.7 / 32.2; // 除
let remainder = 43 % 5; // 求餘
許多運算符號之後加上 = 號是自運算的意思,例如:
sum += 1 等同於 sum = sum + 1。
注意:rust 不支援 ++ 和 --,因為這兩個運算子出現在變數的前後會影響**可讀性,減弱了開發者對變數改變的意識能力。
布林型布林型用 bool 表示,值只能為 true 或 false。
字元型字元型用 char 表示。
rust的 char 型別大小為 4 個位元組,代表 unicode標量值,這意味著它可以支援中文,日文和韓文本元等非英文本元甚至表情符號和零寬度空格在 rust 中都是有效的 char 值。
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; // 正確
rust腐竹是什麼意思 Rust生命週期
不同於rust中的泛型引數,程式設計師是可以手動指定的。rust的生命週期是不能手動指定的,需要編譯器根據傳入的引數進行推斷。當編譯器在某條語句上不能根據引數進行推斷時,他會繼續往下執行並推斷生命週期引數。編譯器會持續根據語句上下文推斷出生命週期引數,並選擇最小的那個。struct context ...
丅rust是什麼意思 Rust 中的型別轉換
1.as 運算子 as 運算子有點像 c 中的強制型別轉換,區別在於,它只能用於原始型別 i32 i64 f32 f64 u8 u32 char 等型別 並且它是安全的。例在 rust 中,不同的數值型別是不能進行隱式轉換的,比如 let b i64 1i32 會出現編譯錯誤,提示無法進行型別轉換。...
uma是什麼意思 UMA是什麼意思?
展開全部 uma 不明生物 是636f707962616964757a686964616f31333431376537動畫 進化戰記 betterman 中的一類人造怪物的統稱,是生命工學食料研究所 b.p.l.所長梅崎博士製造出來 協助他利用阿尼瑪斯之花 大量製造蛋白質 具有驚人攻擊性的怪物。阿拉...