【Rust】集合数据类型之Vector

本文详细介绍了Rust中的Vector数据结构,包括新建、修改、获取(不可变与可变)、遍历、存储不同类型的值及销毁等操作。强调了Rust的借用检查器和所有权规则在处理Vector时的重要性,以及如何通过枚举和trait对象来存储不同类型的值。文章还提及了Vector的容量与长度的区别,并指出在销毁时,Vector及其内容会被一并清理。
摘要由CSDN通过智能技术生成

Rust 标准库中定义类 集合collections)数据结构。不同于内建的数组和元组类型,这些集合指向的数据是储存在堆上的。因此,这些数据的数量不必在编译时就已知,并且还可以随着程序的运行增长或缩小。接下来详细介绍三个在 Rust 中广泛使用的集合:

  • vector:允许我们按顺序储存一系列数量可变的值
  • 字符串string:字符的集合。
  • 哈希 maphash map:允许我们将值(value)与一个特定的键(key)相关联。

vector

首先是 Vec<T>,也被称为 vector。它允许我们储存多个相同类型的值,所有值在内存中彼此相邻排列。类似于其他语言中的数组。

新建 Vector

调用 Vec::new 函数创建一个新的空 vector:

let v: Vec<i32> = Vec::new(); 

💡 这里我们增加了一个类型标注。因为没有向这个 vector 中插入任何值,Rust 并不知道我们想要储存什么类型的元素。

Vec 是一个由标准库提供的类型,它可以存放任何类型。Vec<i32> 是泛型,告诉编译器你创建存放什么类型的 Vec。而在大多数情况中,只要你在创建时初始化值,编译器就可以推断出想要存放的类型。

为了方便,Rust 提供了 vec! 宏,来帮助我们方便地初始值来创建一个 Vec

let v =
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值