- 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
广告