[rust-008]关于向量Vec

2024-06-11 08:48
文章标签 rust 向量 008 vec

本文主要是介绍[rust-008]关于向量Vec,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

fn main() {//mut,让变量vec的元素可以绑定新值,让变量vec绑定新的向量let mut vec = Vec::new();vec.push(1);vec.push(2);println!("vec = {:#?}", vec);//元素绑定新值vec[0] = 5;println!("vec = {:#?}", vec);//变量vec绑定新向量vec = Vec::new();vec.push(100);vec.push(200);println!("vec = {:#?}", vec);//如果没有mut,都不能变let vec2: Vec<i32> = Vec::new();//报错,不能push值进去,只能是空的向量,空向量是没有意义的。vec2.push(1);//不可变的向量,只能用vec!宏进行创建,可以赋初始值,有使用意义。let vec3: Vec<i32> = vec![10,20,30];println!("vec3 = {:#?}", vec3);//报错,不能重新绑定新向量vec3 = vec![3,4];//报错,元素不能重新赋值vec3[0] = 5;}

1. 用mut修饰的“变量名”,绑定到向量上,那么:向量的每个元素可以重复绑定新值,“变量名”可以重复绑定另一个新向量;

2.不用mut修饰的“变量名”,绑定到向量上,那么:向量的每个元素可以不能重复绑定新值,“变量名”也不可以重复绑定另一个新向量;

3.变量名和向量的元素,要么都不可变,要么都不可变。没有其他可能。也就是说,不能创建一个可变一个不可变。不能创建一个不可变的变量名,绑定到元素可变的向量上,也不能创建一个可变的变量名,绑定到元素不可变的向量上。

4.不可变向量,自然也不能调用pop函数,只能以数组脚标的方式获取具体的值。

 

这篇关于[rust-008]关于向量Vec的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1050696

相关文章

在Rust中要用Struct和Enum组织数据的原因解析

《在Rust中要用Struct和Enum组织数据的原因解析》在Rust中,Struct和Enum是组织数据的核心工具,Struct用于将相关字段封装为单一实体,便于管理和扩展,Enum用于明确定义所有... 目录为什么在Rust中要用Struct和Enum组织数据?一、使用struct组织数据:将相关字段绑

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

Rust 数据类型详解

《Rust数据类型详解》本文介绍了Rust编程语言中的标量类型和复合类型,标量类型包括整数、浮点数、布尔和字符,而复合类型则包括元组和数组,标量类型用于表示单个值,具有不同的表示和范围,本文介绍的非... 目录一、标量类型(Scalar Types)1. 整数类型(Integer Types)1.1 整数字

Rust中的Option枚举快速入门教程

《Rust中的Option枚举快速入门教程》Rust中的Option枚举用于表示可能不存在的值,提供了多种方法来处理这些值,避免了空指针异常,文章介绍了Option的定义、常见方法、使用场景以及注意事... 目录引言Option介绍Option的常见方法Option使用场景场景一:函数返回可能不存在的值场景

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

【Rust练习】12.枚举

练习题来自:https://practice-zh.course.rs/compound-types/enum.html 1 // 修复错误enum Number {Zero,One,Two,}enum Number1 {Zero = 0,One,Two,}// C语言风格的枚举定义enum Number2 {Zero = 0.0,One = 1.0,Two = 2.0,}fn m

Vector3 三维向量

Vector3 三维向量 Struct Representation of 3D vectors and points. 表示3D的向量和点。 This structure is used throughout Unity to pass 3D positions and directions around. It also contains functions for doin

linux中使用rust语言在不同进程之间通信

第一种:使用mmap映射相同文件 fn main() {let pid = std::process::id();println!(

8. 自然语言处理中的深度学习:从词向量到BERT

引言 深度学习在自然语言处理(NLP)领域的应用极大地推动了语言理解和生成技术的发展。通过从词向量到预训练模型(如BERT)的演进,NLP技术在机器翻译、情感分析、问答系统等任务中取得了显著成果。本篇博文将探讨深度学习在NLP中的核心技术,包括词向量、序列模型(如RNN、LSTM),以及BERT等预训练模型的崛起及其实际应用。 1. 词向量的生成与应用 词向量(Word Embedding)

第二十四章 rust中的运算符重载

注意 本系列文章已升级、转移至我的自建站点中,本章原文为:rust中的运算符重载 目录 注意一、前言二、基本使用三、常用运算符四、通用约束 一、前言 C/C++中有运算符重载这一概念,它的目的是让即使含不相干的内容也能通过我们自定义的方法进行运算符操作运算。 比如字符串本身是不能相加的,但由于C++中的String重载了运算符+,所以我们就可以将两个字符串进行相加、但实际