Rust-tuple

提供:Dev Guides
移動先:案内検索

錆-タプル

タプルは複合データ型です。 スカラー型は、1つのタイプのデータのみを格納できます。 たとえば、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)

破壊する

割り当ての破棄は、タプルの値を展開する錆の特徴です。 これは、タプルを個別の変数に割り当てることで実現されます。

次の例を考慮してください-

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