- Rust 教程
- Rust - 首頁
- Rust - 簡介
- Rust - 環境搭建
- Rust - HelloWorld 示例
- Rust - 資料型別
- Rust - 變數
- Rust - 常量
- Rust - 字串
- Rust - 運算子
- Rust - 決策
- Rust - 迴圈
- Rust - 函式
- Rust - 元組
- Rust - 陣列
- Rust - 所有權
- Rust - 借用
- Rust - 切片
- Rust - 結構體
- Rust - 列舉
- Rust - 模組
- Rust - 集合
- Rust - 錯誤處理
- Rust - 泛型型別
- Rust - 輸入輸出
- Rust - 檔案輸入/輸出
- Rust - 包管理器
- Rust - 迭代器和閉包
- Rust - 智慧指標
- Rust - 併發
- Rust 有用資源
- Rust - 快速指南
- Rust - 有用資源
- Rust - 討論
Rust - 元組
元組是一種複合資料型別。標量型別只能儲存一種型別的資料。例如,一個 i32 變數只能儲存單個整數值。在複合型別中,我們可以一次儲存多個值,並且這些值可以是不同型別的。
元組具有固定長度——一旦宣告,它們的大小就不能增長或縮小。元組索引從0開始。
語法
//Syntax1 let tuple_name:(data_type1,data_type2,data_type3) = (value1,value2,value3); //Syntax2 let tuple_name = (value1,value2,value3);
示例
下面的示例顯示元組中的值。
fn main() {
let tuple:(i32,f64,u8) = (-325,4.9,22);
println!("{:?}",tuple);
}
不能使用println!("{ }",tuple) 語法來顯示元組中的值。這是因為元組是一種複合型別。使用println!("{:?}", tuple_name) 語法列印元組中的值。
輸出
(-325, 4.9, 22)
示例
下面的示例列印元組中的各個值。
fn main() {
let tuple:(i32,f64,u8) = (-325,4.9,22);
println!("integer is :{:?}",tuple.0);
println!("float is :{:?}",tuple.1);
println!("unsigned integer is :{:?}",tuple.2);
}
輸出
integer is :-325 float is :4.9 unsigned integer is :2
示例
下面的示例將元組作為引數傳遞給函式。元組按值傳遞給函式。
fn main(){
let b:(i32,bool,f64) = (110,true,10.9);
print(b);
}
//pass the tuple as a parameter
fn print(x:(i32,bool,f64)){
println!("Inside print method");
println!("{:?}",x);
}
輸出
Inside print method (110, true, 10.9)
解構
解構賦值是 Rust 的一個特性,我們可以透過它來解包元組的值。這是透過將元組賦值給不同的變數來實現的。
考慮以下示例:
fn main(){
let b:(i32,bool,f64) = (30,true,7.9);
print(b);
}
fn print(x:(i32,bool,f64)){
println!("Inside print method");
let (age,is_male,cgpa) = x; //assigns a tuple to
distinct variables
println!("Age is {} , isMale? {},cgpa is
{}",age,is_male,cgpa);
}
變數x是一個元組,它被賦值給 let 語句。每個變數——age、is_male 和 cgpa 將包含元組中對應的值。
輸出
Inside print method Age is 30 , isMale? true,cgpa is 7.9
廣告