AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁 > 科技  > 軟件

Rust編程基礎(chǔ)之六大數(shù)據(jù)類型

來源: 責(zé)編: 時間:2023-11-01 17:00:43 329觀看
導(dǎo)讀1.Rust數(shù)據(jù)類型在 Rust 中, 每一個值都屬于某一個 數(shù)據(jù)類型(data type), 這告訴 Rust 它被指定為何種數(shù)據(jù),以便明確數(shù)據(jù)處理方式。我們將看到兩類數(shù)據(jù)類型子集:標(biāo)量(scalar)和復(fù)合(compound)。Rust是靜態(tài)類型(statically typed

1.Rust數(shù)據(jù)類型

在 Rust 中, 每一個值都屬于某一個 數(shù)據(jù)類型(data type), 這告訴 Rust 它被指定為何種數(shù)據(jù),以便明確數(shù)據(jù)處理方式。我們將看到兩類數(shù)據(jù)類型子集:標(biāo)量(scalar)和復(fù)合(compound)。TQv28資訊網(wǎng)——每日最新資訊28at.com

Rust是靜態(tài)類型(statically typed)語言,也就是說在編譯時就必須知道所有變量的類型。根據(jù)值及其使用方式,編譯器通常可以推斷出我們想要用的類型。當(dāng)多種類型均有可能時,必須增加類型注解,像這樣:TQv28資訊網(wǎng)——每日最新資訊28at.com

let u_number: u32 = "42".parse().expect("Not a number!");

如果不像上面的代碼這樣添加類型注解 : u32,Rust 會顯示如下錯誤,這說明編譯器需要我們提供更多信息,來了解想要的類型:TQv28資訊網(wǎng)——每日最新資訊28at.com

圖片TQv28資訊網(wǎng)——每日最新資訊28at.com

2.標(biāo)量類型

標(biāo)量(scalar)類型代表一個單獨的值。Rust 有四種基本的標(biāo)量類型:整型、浮點型、布爾類型和字符類型。TQv28資訊網(wǎng)——每日最新資訊28at.com

2.1 整型

整數(shù) 是一個沒有小數(shù)部分的數(shù)字。下面表格展示了 Rust 內(nèi)建的整數(shù)類型。我們可以使用其中的任一個來聲明一個整數(shù)值的類型。TQv28資訊網(wǎng)——每日最新資訊28at.com

長度TQv28資訊網(wǎng)——每日最新資訊28at.com

有符號TQv28資訊網(wǎng)——每日最新資訊28at.com

無符號TQv28資訊網(wǎng)——每日最新資訊28at.com

8-bitTQv28資訊網(wǎng)——每日最新資訊28at.com

i8TQv28資訊網(wǎng)——每日最新資訊28at.com

u8TQv28資訊網(wǎng)——每日最新資訊28at.com

16-bitTQv28資訊網(wǎng)——每日最新資訊28at.com

i16TQv28資訊網(wǎng)——每日最新資訊28at.com

u16TQv28資訊網(wǎng)——每日最新資訊28at.com

32-bitTQv28資訊網(wǎng)——每日最新資訊28at.com

i32TQv28資訊網(wǎng)——每日最新資訊28at.com

u32TQv28資訊網(wǎng)——每日最新資訊28at.com

64-bitTQv28資訊網(wǎng)——每日最新資訊28at.com

i64TQv28資訊網(wǎng)——每日最新資訊28at.com

u64TQv28資訊網(wǎng)——每日最新資訊28at.com

128-bitTQv28資訊網(wǎng)——每日最新資訊28at.com

i128TQv28資訊網(wǎng)——每日最新資訊28at.com

u128TQv28資訊網(wǎng)——每日最新資訊28at.com

archTQv28資訊網(wǎng)——每日最新資訊28at.com

isizeTQv28資訊網(wǎng)——每日最新資訊28at.com

usizeTQv28資訊網(wǎng)——每日最新資訊28at.com

每一個變體都可以是有符號或無符號的,并有一個明確的大小。有符號 和 無符號 代表數(shù)字能否為負(fù)值,換句話說,這個數(shù)字是否有可能是負(fù)數(shù)(有符號數(shù)),或者永遠(yuǎn)為正而不需要符號(無符號數(shù))。這有點像在紙上書寫數(shù)字:當(dāng)需要考慮符號的時候,數(shù)字以加號或減號作為前綴;然而,可以安全地假設(shè)為正數(shù)時,加號前綴通常省略。有符號數(shù)以補碼形式存儲。TQv28資訊網(wǎng)——每日最新資訊28at.com

每一個有符號的變體可以儲存包含從 -(2n - 1) 到 2n - 1 - 1 在內(nèi)的數(shù)字,這里 n 是變體使用的位數(shù)。所以 i8 可以儲存從 -(27) 到 27 - 1 在內(nèi)的數(shù)字,也就是從 -128 到 127。無符號的變體可以儲存從 0 到 2n - 1 的數(shù)字,所以 u8 可以儲存從 0 到 28 - 1 的數(shù)字,也就是從 0 到 255。TQv28資訊網(wǎng)——每日最新資訊28at.com

另外,isize 和 usize 類型依賴運行程序的計算機架構(gòu):64 位架構(gòu)上它們是 64 位的,32 位架構(gòu)上它們是 32 位的。TQv28資訊網(wǎng)——每日最新資訊28at.com

可以使用以下表格的任何一種形式編寫數(shù)字字面值。請注意可以是多種數(shù)字類型的數(shù)字字面值允許使用類型后綴,例如 57u8 來指定類型,同時也允許使用 _ 作為分隔符以方便讀數(shù),例如1_000,它的值與你指定的 1000 相同。TQv28資訊網(wǎng)——每日最新資訊28at.com

數(shù)字字面值TQv28資訊網(wǎng)——每日最新資訊28at.com

例子TQv28資訊網(wǎng)——每日最新資訊28at.com

Decimal (十進(jìn)制)TQv28資訊網(wǎng)——每日最新資訊28at.com

98_222TQv28資訊網(wǎng)——每日最新資訊28at.com

Hex (十六進(jìn)制)TQv28資訊網(wǎng)——每日最新資訊28at.com

0xffTQv28資訊網(wǎng)——每日最新資訊28at.com

Octal (八進(jìn)制)TQv28資訊網(wǎng)——每日最新資訊28at.com

0o77TQv28資訊網(wǎng)——每日最新資訊28at.com

Binary (二進(jìn)制)TQv28資訊網(wǎng)——每日最新資訊28at.com

0b1111_0000TQv28資訊網(wǎng)——每日最新資訊28at.com

Byte (單字節(jié)字符)(僅限于u8)TQv28資訊網(wǎng)——每日最新資訊28at.com

b'A'TQv28資訊網(wǎng)——每日最新資訊28at.com

那么該使用哪種類型的數(shù)字呢?如果拿不定主意,Rust 的默認(rèn)類型通常是個不錯的起點,數(shù)字類型默認(rèn)是 i32。isize 或 usize 主要作為某些集合的索引。TQv28資訊網(wǎng)——每日最新資訊28at.com

2.2 浮點型

Rust 也有兩個原生的 浮點數(shù)(floating-point numbers)類型,它們是帶小數(shù)點的數(shù)字。Rust 的浮點數(shù)類型是 f32 和 f64,分別占 32 位和 64 位。默認(rèn)類型是 f64,因為在現(xiàn)代 CPU 中,它與 f32 速度幾乎一樣,不過精度更高。所有的浮點型都是有符號的。TQv28資訊網(wǎng)——每日最新資訊28at.com

以下是浮點數(shù)的代碼例子:TQv28資訊網(wǎng)——每日最新資訊28at.com

fn main() {    let x = 2.0; // f64    let y: f32 = 3.0; // f32}

浮點數(shù)采用 IEEE-754 標(biāo)準(zhǔn)表示。f32 是單精度浮點數(shù),f64 是雙精度浮點數(shù)。TQv28資訊網(wǎng)——每日最新資訊28at.com

2.3 布爾型

正如其他大部分編程語言一樣,Rust 中的布爾類型有兩個可能的值:true 和 false。Rust 中的布爾類型使用 bool 表示。TQv28資訊網(wǎng)——每日最新資訊28at.com

布爾型的使用例子如下:TQv28資訊網(wǎng)——每日最新資訊28at.com

fn main() {    let t = true;    let f: bool = false;}

使用布爾值的主要場景是條件表達(dá)式,例如 if 表達(dá)式。TQv28資訊網(wǎng)——每日最新資訊28at.com

2.4 字符類型

Rust 的 char 類型是語言中最原生的字母類型。下面是一些聲明 char 值的例子:TQv28資訊網(wǎng)——每日最新資訊28at.com

fn main() {    let c = 'z';    let z: char = '?';    let heart_eyed_cat = ' 
                

本文鏈接:http://www.tebozhan.com/showinfo-26-16367-0.htmlRust編程基礎(chǔ)之六大數(shù)據(jù)類型

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 掌握Golang匿名函數(shù)

下一篇: Go語言中的閉包:封裝數(shù)據(jù)與功能的強大工具

標(biāo)簽:
  • 熱門焦點
Top