Rust 資料型別介紹
導讀 | Rust 語言是一種高效、可靠的通用高階語言。其高效不僅限於開發效率,它的執行效率也是令人稱讚的,是一種少有的兼顧開發效率和執行效率的語言。 |
Rust 語言中的基礎資料型別有以下幾種。
整數型簡稱整型,按照位元位長度和有無符號分為一下種類:
位長度 | 有符號 | 無符號 |
---|---|---|
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 兩種整數型別是用來衡量資料大小的,它們的位長度取決於所執行的目標平臺,如果是 32 位架構的處理器將使用 32 位位長度整型。
整數的表述方法有以下幾種:
進位制 | 例 |
---|---|
十進位制 | 98_222 |
十六進位制 | 0xff |
八進位制 | 0o77 |
二進位制 | 0b1111_0000 |
位元組(只能表示 u8 型) | b'A' |
很顯然,有的整數中間存在一個下劃線,這種設計可以讓人們在輸入一個很大的數字時更容易判斷數字的值大概是多少。
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 等於 1let (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; // 正確
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2795010/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【Redis】資料型別介紹Redis資料型別
- golang資料型別基本介紹與使用Golang資料型別
- GBase8s資料型別介紹資料型別
- NumPy 陣列切片及資料型別介紹陣列資料型別
- Python技術之Number資料型別介紹Python資料型別
- 變數以及八大資料型別介紹變數大資料資料型別
- MySQL全面瓦解3:資料型別介紹與分析MySql資料型別
- string型別介紹型別
- JAVA_資料型別介紹與基本資料型別之間的運算規則Java資料型別
- 學習變數的目的及基本資料型別介紹變數資料型別
- clickhouse資料型別簡介資料型別
- postgreSQL 索引(二)型別介紹SQL索引型別
- SQL | JOIN 型別使用介紹SQL型別
- http代理型別格式介紹HTTP型別
- android AIDL程式間通訊(只介紹了簡單資料型別)AndroidAI資料型別
- 關係型資料庫與非關係型資料庫介紹!資料庫
- java浮點型別案例介紹Java型別
- C++ 列舉型別介紹C++型別
- Rust 屬性介紹Rust
- Rust 註釋介紹Rust
- 語言型別介紹及其Python的語言型別型別Python
- C++與Rust資料型別對應關係C++Rust資料型別
- Go 複合型別之字典型別介紹Go型別
- C#學習 [型別系統] 基本型別介紹(10)C#型別
- 以太坊Solidity型別介紹+實戰Solid型別
- Solidity 教程系列2 - 地址型別介紹Solid型別
- C 語言之布林型別介紹型別
- 介紹PostgreSQL的陣列型別FUSQL陣列型別
- 常見的代理IP型別介紹型別
- js資料型別之基本資料型別和引用資料型別JS資料型別
- 資料型別: 資料型別有哪些?資料型別
- k8s的api-resources資源型別介紹K8SAPI型別
- 資料庫介紹資料庫
- 區別值型別資料和引用型別資料型別
- MTK晶片資料大全,MTK處理器型號介紹晶片
- sqlite輕量型資料庫的介紹及應用SQLite資料庫
- Redis的介紹安裝以及啟動與使用還有五大資料型別Redis大資料資料型別
- C++中的基本變數型別介紹C++變數型別