当前位置:首页 > 编程笔记 > 正文
已解决

rust元组

来自网友在路上 171871提问 提问时间:2023-10-10 13:26:56阅读次数: 71

最佳答案 问答题库718位专家为你答疑解惑

一、元组定义

(一)语法

let tuple_name: (data_type1, data_type2, data_type3) = (value1, value2, value3);

使用一对小括号 () 把所有元素放在一起,元素之间使用逗号 , 分隔。
可以不显式指定类型

let tuple_name = (value1,value2,value3);

范例

fn main() {let tuple:(i32,f64,u8) = (-325,4.9,22);println!("{:?}",tuple);
}
编译运行结果如下
(-325, 4.9, 22)

没有元素的元组叫单元。单元类型和单元值都是()。

二、使用元组

(一)访问元组中的单个元素
我们可以使用 元组名.索引数字 来访问元组中相应索引位置的元素。索引从 0 开始。

范例

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 function_name(tuple_name: (i32, bool, f64)){}

范例

fn main(){let b:(i32,bool,f64) = (110,true,10.9);print(b);
}
// 使用元组作为参数
fn print(x:(i32,bool,f64)){println!("Inside print method");println!("{:?}",x);
}
编译运行结果如下
Inside print method
(110, true, 10.9)

(三)元组作为返回值
语法

fn function_name() ->(type1, type2, type3){
}

范例

fn main(){let b = print();println!("{:?}", b);
}
fn print() -> (i32,bool,f64){(110,true,10.9)
}
编译运行结果如下
(110, true, 10.9)

(四)元组解构批量赋值
解构批量赋值就是把元组中的每一个元素分别赋值给变量。
语法格式如下

let (a, b, c) = (value1, value2, value3);
let (a, b, c) = tup;

例子

let (age,is_male,cgpa) = (30,true,7.9);
let tup = (500, 6.4, 1);
let (x, y, z) = tup;
println!("The value of y is: {y}");
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"rust元组":http://eshow365.cn/6-18387-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!