Rust复合类型之元组

元组是一个有着固定(元素)长度的列表,每个元素的类型有可能是不同的。类型和元素都用小括号括起来,它们之间用逗号隔开。例如:

rust 复制代码
fn main() { 
     let itemname: (i32, f64, u8) = (500, 6.4, 1);
}

元组可以使用.来访问其中的元素。

rust 复制代码
fn main() {
    let test: (i32, f64, u8) = (500, 6.4, 1);
    
    // 元组使用.运算符访问其元素,下标从0开始,注意语法
    let number1 = test.0;
    let number2  = test.1;
    let number3 = test.2;
}

与数组的相同点是,它俩都有固定元素个数的,在运行时不可伸缩。与数组的不同点是,元组的每个元素的类型或许不一样。元组在 Rust 中很有用,因为它可以用于返回函数最后的值,相当于把多个想返回的值捆绑在一起,一次性返回。

当没有任何元素的时候,元组退化成 (),就叫做unit类型,是 Rust 中一个非常重要的基础类型和值,unit类型唯一的值实例就是 (),与其类型本身的表示相同。比如一个函数没有返回值的时候,它实际默认返回的是这个unit值。

相关推荐
CS生2 小时前
Rust环境准备
开发语言·后端·rust
沛沛rh455 小时前
Rust 中的三个“写手“:print!、format!、write! 的详细区别
开发语言·后端·rust
henreash5 小时前
Rust引用借用测试
rust
devmoon6 小时前
从 0 到 1 实现两条独立区块链Parachain的跨链通信能力之实操指南
开发语言·rust·区块链·信息与通信·polkadot
devmoon7 小时前
区块链 Indexer 全解析:为什么 Web3 应用离不开数据索引器?(Polkadot / Ethereum / Solana 对比与未来展望)
rust·web3·区块链·以太坊·polkadot·solana·indexer
@PHARAOH7 小时前
WHAT - SWC Rust-based platform for the Web
开发语言·前端·rust
大鹏的NLP博客9 小时前
Rust + PyTorch 实现 BGE 向量检索系统
人工智能·pytorch·rust
无名之逆1 天前
你可能不需要WebSocket-服务器发送事件的简单力量
java·开发语言·前端·后端·计算机·rust·编程
Source.Liu1 天前
【egui】界面的坐标系统:f32 一统江湖
rust·egui
班公湖里洗过脚1 天前
Rust解析mp3文件及工作目录下多个项目维护示例
rust