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值。

相关推荐
geovindu6 小时前
rust:Memento Pattern(续)
开发语言·后端·设计模式·rust·行为模式·备忘录模
Kapaseker10 小时前
同样 4 行代码,C++ 编译通过,Rust 为什么直接拒绝?
rust
DongQiShanRen15 小时前
六根硬件映射(中):双站校验、生克闭环与驱动接口
数据库·人工智能·算法·rust·哈希算法·集成学习
Amos_Web15 小时前
Rspack 源码解析(二十五):CssParserAndGenerator 如何把 CSS 变成可 Tree Shaking 的模块
前端·rust·前端框架
Kainy15 小时前
Rust重写Photoshop开源项目PhotoCraft:无头命令行修图与AI Agent自动化实战
人工智能·rust·photoshop
I'm Jie15 小时前
Rhost v2.0.0 版本发布!!!不止 SSH 终端,内置 AI Agent 支持自然语言操作远程服务器
运维·服务器·rust·开源·ssh·tauri·finalshell
青川Lapis1 天前
RUST:错误处理 thiserror 详解
rust
Source.Liu1 天前
【A11】拥有者模式平台架构笔记
windows·笔记·架构·rust
sayang_shao1 天前
用 Rust 开发 STM32H743:从零搭建一个能烧录、能看日志的项目
stm32·单片机·rust
qq_406981031 天前
大白话rust系列02原始数据类型
rust