rust學習 2 資料型別

2021-10-02 08:35:07 字數 2198 閱讀 1836

rust 是靜態型別(statically typed)語言,也就是說在編譯時就必須知道所有變數的型別

使用parsestring轉換為數字時,必須增加型別註解

//字串轉無符號整數

let guess: u32 = "42".parse().expect("not a number!");

標量(scalar)型別代表乙個單獨的值。rust 有四種基本的標量型別:整型、浮點型、布林型別和字元型別。你可能在其他語言中見過它們。讓我們深入了解它們在 rust 中是如何工作的。

整型整數是乙個沒有小數部分的數字。我們在第二章使用過u32整數型別。該型別宣告表明,它關聯的值應該是乙個佔據 32 位元位的無符號整數(有符號整數型別以i開頭而不是u)。** 3-1 展示了 rust 內建的整數型別。在有符號列和無符號列中的每乙個變體(例如,i16)都可以用來宣告整數值的型別。

arch代表在不同的平台下有不同的位元組大小

長度有符號

無符號8-bit

i8u8

16-bit

i16u16

32-bit

i32u32

64-bit

i64u64

128-bit

i128u128

arch

isizeusize

rust中的常量字面值的表示方式

數字字面值

例子decimal

98_222

hex0xff

octal

0o77

binary

0b1111_0000

byte (u8only)

b'a'

rust 也有兩個原生的浮點數(floating-point numbers)型別,它們是帶小數點的數字。rust 的浮點數型別是f32f64,分別佔 32 位和 64 位。預設型別是f64,因為在現代 cpu 中,它與f32速度幾乎一樣,不過精度更高。

fn main()
fn main()
fn main()
rust 中的所有數字型別都支援基本數**算:加法、減法、乘法、除法和取餘。下面的**展示了如何在let語句中使用它們:

fn main()
復合型別(compound types)可以將多個值組合成乙個型別。rust 有兩個原生的復合型別:元組(tuple)和陣列(array)。

tuple

一旦宣告,其長度不會增大或縮小。

fn main() ", y);

}

除了使用模式匹配解構外,也可以使用點號(.)後跟值的索引來直接訪問它們

fn main()
這個程式建立了乙個元組,x,並接著使用索引為每個元素建立新變數。跟大多數程式語言一樣,元組的第乙個索引值是 0。

陣列型別

另乙個包含多個值的方式是陣列(array)。與元組不同,陣列中的每個元素的型別必須相同。rust 中的陣列與一些其他語言中的陣列不同,因為 rust 中的陣列是固定長度的:一旦宣告,它們的長度不能增長或縮小。

fn main()

",a[0]

);}

Rust 資料型別

布林型別 bool 只有兩個值 true 和 false let x true let y bool false 布林型通常用在 if 語句中,也可以用在 match 語句中 fn main else match praise the borrow checher 還可以將字串 true 和 fal...

Rust 資料型別

rust語言中的基礎資料型別有以下幾種 注意 rust不支援 和 因為這兩個運算子出現在變數的前後會影響 可讀性,減弱了開發者對變數改變的意識能力。整數型 整數型簡稱整型,按照位元位長度和有無符號分為以下種類 位長度 有符號 無符號 8 bit i8 u8 16 bit i16 u16 32 bit...

rust中的基礎資料型別

復合型別 rust中的型別注釋 有符號整數主要包括i8 i16 i32 i64 i128和isize 指標大小 無符號整數主要包括u8 u16 u32 u64 u64 u128和usize 指標大小 浮點型資料主要包括f32 f64。字元型資料char,unicode標量值,比如 a b 每乙個字元...