Vec 定义了一个动态增长的数组,与java ArrayList类似。基本也定义了增删改查操作:

pub fn push(&mut self, value: T)

pub fn remove(&mut self, index: usize)

pub fn get<I>(&self, index: I)

通过例子可以比较轻松掌握基本用法:

pub fn my_vec(){let mut stack = Vec::new();stack.push(1);stack.push(2);stack.push(3);println!("stack已初始化:{}", stack.to_json());//删除第0个元素stack.remove(0);println!("已删除第0个元素");//再获取该元素let item0 = stack.get(0);let is_exist = item0.is_some();println!("item0 存在?{}", is_exist);}

运行一下:

补充:除了上述初始化一个vector的方法Vec::new()之外也可以用宏来初始化,比如

let stack = vec![1, 2, 3];

Rust基础-Vec用法相关推荐

  1. Rust基础-关于trait之一

    什么是trait? 答:告诉编译器类型具有哪些并且可以与其他类型共享的功能. trait是干啥的? 答:为结构抽象定义一坨共享行为.并且定义约束,用以扩展(多态). trait的规则 1.该trait ...

  2. channelinactive触发后不关闭channel_Go语言 | goroutine不只有基础的用法,还有这些你不知道的操作...

    今天是golang专题第15篇文章,我们来继续聊聊channel的使用. 在我们的上篇文章当中我们简单介绍了golang当中channel的使用方法,channel是golang当中一个非常重要的设计 ...

  3. java case用法_Go语言 | goroutine不只有基础的用法,还有这些你不知道的操作

    今天是golang专题第15篇文章,我们来继续聊聊channel的使用. 在我们的上篇文章当中我们简单介绍了golang当中channel的使用方法,channel是golang当中一个非常重要的设计 ...

  4. Rust基础-关于trait之五

    基于上一篇Rust基础-关于trait之四-不得不说一下rust fat point 如果Trait之间有继承关系时,vtable 是什么布局呢? 如果看过上一篇,那么这张图应该能够看明白了. 所有的 ...

  5. 从高级程序员的角度来看,Rust 基础知识

    作者 | Daniel Bulant 译者 | 弯月 出品 | CSDN(ID:CSDNnews) 刚开始从事编程工作的时候,我使用的是PHP.个人感觉,PHP的语法有点笨拙且不自然,有时甚至很讨厌( ...

  6. Rust 基础(三)

    六.枚举和模式匹配 在本章中,我们将研究enumeration,也称为enum. 枚举允许通过枚举可能的变体来定义类型. 首先,将定义和使用枚举来展示枚举如何与数据一起编码意义.接下来,将探索一个特别 ...

  7. Rust 基础(七)

    十八.模式和匹配(Patterns and Matching) 模式是Rust中的一种特殊语法,用于匹配复杂类型和简单类型的结构.将模式与match 表达式和其他构造结合使用,可以更好地控制程序的控制 ...

  8. Rust基础概念之函数

    Time: 20190921 函数在Rust中是无处不在的,到现在为止,看了很多main函数,这个是程序的入口.fn表示函数声明. Rust中的编程风格是蛇形命名法,即都采用小写字母,单词之间用下划线 ...

  9. Rust基础概念之数据类型

    Time: 20190921 数据类型概览 Rust是一种静态语言,也是一门强类型语言.每个值都对应着一个特定的类型. 编译器知道数据类型后,就知道该类型对应的确定的操作.本篇主要关注两种特定类型: ...

最新文章

  1. Android代码实现APK文件的安装与卸载
  2. java听课笔记(十五)之 网络编程
  3. 用“夜间模式”模式(javascript书签)浏览网页
  4. Linux集群服务 LVS
  5. [Nodejs原理] 核心库Libuv入门(Hello World篇)
  6. 机器学习笔记(6) 线性回归
  7. 矩阵相乘的strassen算法_矩阵乘法的Strassen算法+动态规划算法(矩阵链相乘和硬币问题)...
  8. 一周学会linux实战 下载 pdf_UOS可用的pdf编辑工具
  9. 把网站部署到IIS后访问不了,报错IIS管理器无法验证此内置账户是否有访问权
  10. Arduino Uno 学习第零课,Arduino认识
  11. kktv电视剧鸿蒙,KKTV K70系列新品上市 京东、天猫、苏宁易购同步预售
  12. 论文翻译五:A New Method of Automatic Modulation Recognition Based on Dimension Reduction
  13. 【FPGA】Verilog编程实现SDRAM读写(一) ----- 初识SDRAM
  14. C#比较两字符串是否相等,忽略大小写
  15. PostgreSQL查询 动态输入参数
  16. A002-181-2154
  17. Java获取package下所有的class对象(普通文件包和Jar文件包)
  18. net.sf.json.JSONObject实现Object对象与Json字符串的互转
  19. 【密码学】 一篇文章讲透数字证书
  20. Redy语法分析--抽象语法树简介

热门文章

  1. scylla_Scylla评论:Apache Cassandra增压
  2. 一加3 android 8.0,一加3 android 8.0 启动uiautomator server失败
  3. This view is not constrained It is olny designtime positions,so it will jump.......的解决方法
  4. creo打不开stp文件_为什么stp网站打不开 creo打不开stp文件
  5. 简单的创建app id 的流程
  6. 【Python】一篇文章学习Pandas包 Pandas Series、DataFrame 对比学习
  7. 40个web前端实战项目,练完即可就业,从入门到进阶,基础到框架,html_css【附视频+源码】
  8. python从入门到实践十二章
  9. 上周内外盘行情回顾及交易情况2022.4.4
  10. PHP 获取青果教务的验证码与登录,成绩查询