当前位置: 首页 > news >正文

rust切片

切片类型写为[T]。
切片是序列的一个片段。
它是动态大小类型,所以要使用切片类型,就必须使用它的指针类型。引用是最常用的指针类型。
[T; n]能隐式转换成[T]。

一、定义切片
(一)不可变切片
&[T],共享切片,是不可变引用。
语法格式如下

let sliced_value: &[type] = &data[x..y]

data是个数组或向量

x..y表示 [x, y) 的数学含义。.. 两边可以没有运算数
..y等价于0..y
x.. 等价于位置x到结束
.. 等价于位置0到结束

(二)可变切片
&mut [T],可变切片,是可变引用。
使用&mut关键字
语法格式

let slice_name: &mut[type] = &mut data[start..end]

data是个数组或向量
例子

fn main(){let mut data = [10,20,30,40,50];use_slice(&mut data[1..4]);// passes references of     20, 30 and 40println!("{:?}",data);
}
fn use_slice(slice:&mut [i32]) {println!("切片的长度为:{:?}",slice.len());println!("{:?}",slice);slice[0] = 1010; // replaces 20 with 1010
}
编译运行结果如下
切片的长度为:3
[20, 30, 40]
[10, 1010, 30, 40, 50]

二、使用切片
(一)获取长度
例子

let mut arr: [u32; 5] = [1, 2, 3, 4, 5];
let a = &mut arr[2..4];
println!("{}", a.len());

(二)访问元素
[]
访问切片内容的时候,下标索引是从 0 开始的。

let mut arr: [u32; 5] = [1, 2, 3, 4, 5];
let a = &mut arr[2..4];
println!("{}", a[0]);

(三)遍历切片
1.使用索引

let mut arr: [u32; 5] = [1, 2, 3, 4, 5];
let a = &mut arr[2..4];
for i in 0..a.len() {a[i] = 0;print!("{} ", a[i]);
}

2.使用引用

let mut arr: [u32; 5] = [1, 2, 3, 4, 5];
let a = &mut arr[2..4];
for i in a {*i = 0;print!("{} ", i);
}

3.使用迭代器

let mut arr: [u32; 5] = [1, 2, 3, 4, 5];
let a = &mut arr[2..4];
for i in a.iter() {print!("{} ", i);
}let mut arr: [u32; 5] = [1, 2, 3, 4, 5];
let a = &mut arr[2..4];
for i in a.iter_mut() {*i = 0;print!("{} ", i);
}

(四)切片作为函数参数
只能通过引用的方式传递给函数。

例子

fn main(){let data = [10,20,30,40,50];use_slice(&data[1..4]);
}
fn use_slice(slice:&[i32]) {println!("length of slice is {:?}",slice.len());println!("{:?}",slice);
}
编译运行结果如下
length of slice is 3
[20, 30, 40]

(五)切片转向量

let mut arr: [u32; 5] = [1, 2, 3, 4, 5];
let a = &mut arr[2..4];
let v = a.to_vec();
println!("{:?}", v);

相关文章:

rust切片

切片类型写为[T]。 切片是序列的一个片段。 它是动态大小类型,所以要使用切片类型,就必须使用它的指针类型。引用是最常用的指针类型。 [T; n]能隐式转换成[T]。 一、定义切片 (一)不可变切片 &[T],共享切片&…...

2023/9/18 -- C++/QT

作业 完善登录框 点击登录按钮后,判断账号(admin)和密码(123456)是否一致,如果匹配失败,则弹出错误对话框,文本内容“账号密码不匹配,是否重新登录”,给定两…...

vue柱状图+折线图组合

<template><div id"main" style"width: 100%;height: 500px; padding-top: .6rem"></div> </template>data() {return {weekData: ["1周","2周","3周","4周","5周","6周&…...

js中如何实现一个简单的防抖函数?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 防抖函数⭐ 使用示例⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏…...

mysq 主从同步错误之 Error_code 1032 handler error HA_ERR_KEY_NOT_FOUND

错误说明&#xff1a; MySQL主从同步的1032错误&#xff0c;一般是指要更改的数据不存在&#xff0c;SQL_THREAD提取的日志无法应用故报错&#xff0c;造成同步失败 &#xff08;Update、Delete、Insert一条已经delete的数据&#xff09;。 1032的错误本身对数据一致性没什么影…...

蓝桥杯 题库 简单 每日十题 day4

01 津津上初中了。妈妈认为津津应该更加用功学习&#xff0c;所以津津除了上学之外&#xff0c;还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴&#xff0c;而且上得越久就会越不高兴。假设津津…...

l8-d21 域名解析与http服务器实现原理

一、域名解析gethostbyname函数 主机结构在 <netdb.h> 中定义如下&#xff1a; struct hostent { char *h_name; /* 官方域名 */ char **h_aliases; /* 别名*/ int h_addrtype; /* 地址族&#xff08;地址类型&#xff09; */ int h_l…...

网络安全(黑客技术)自学规划

一、什么是网络安全 网络安全可以基于攻击和防御视角来分类&#xff0c;我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术&#xff0c;而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域&#xff0c;都有攻与防两面性…...

阻止用邮件不停注册wordpress账户的方法

您可以使用多种不同的策略来阻止垃圾邮件注册。以下是一些策略供您参考&#xff1a;第1个最好用 1.完全禁用WordPress注册&#xff1a;如果您不需要在您的WordPress网站上公开注册&#xff0c;最好完全禁用注册&#xff0c;而不是试图打击垃圾邮件注册。要完全禁用WordPress上…...

低代码工具大比拼:哪个最适合你?

低代码开发平台正日益流行&#xff0c;成为企业和开发者们的首选。但是&#xff0c;面对市场上众多的低代码工具&#xff0c;你是否感到困惑呢&#xff1f;今天&#xff0c;就和数聚股份一起探讨一下&#xff0c;究竟应该选择哪个低代码工具才能最好地满足你的需求。 首先&…...

用Python实现链式调用

嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 我们在使用Django的models查询数据库时&#xff0c;可以看到有这种写法&#xff1a; form app.models import XXX query XXX.objects.all() query query.filter(name123, age456).filter(salary999)在这种写法里面&#xf…...

基于SSM的汽车租赁后台管理系统

基于SSM的汽车租赁后台管理系统 介绍 包括登录、首页、客户管理、车辆管理、汽车出租、出租单管理、汽车入库、检查单管理、系统管理等功能&#xff0c;适合二次开发课程设计、毕业设计等 软件架构 SSM 运行环境 数据库 mysql 安装教程输入链接说明 端口&#xff1a;3306…...

Word 文档转换 PDF、图片

工作有需要 Word 文档转换 PDF、图片 的场景&#xff0c;我们来看看 Java 开发中怎么解决这个问题的。 Word 转 PDF Word 转 PDF 分为商用 Aspose 方案和开源 Apache POIiText 方案。 Aspose 方案 这种方式在目前来看应该是最好的&#xff0c;无论是转换的速度还是成功的概…...

解决Permission is not allowed后基于Ubuntu23.04安装配置docker与docker-compose

参考&#xff1a;Docker官网-Install Docker Engine on Ubuntu 一、 Install using the Apt repository 1.1 Set up Docker’s Apt repository 1.1.1 Add Docker’s official GPG key # Add Dockers official GPG key: sudo apt-get updatesudo apt-get install ca-certifi…...

[ABC118D] Match Matching

题目传送门 引 题目的描述很形象&#xff0c;梦回童年&#xff0c;注意一下火柴全部都用完 解法 显然 DP , 设计状态&#xff1a; f i : 用完 i 根木棒凑出的最大数 f_i:用完i根木棒凑出的最大数 fi​:用完i根木棒凑出的最大数 状态转移&#xff1a; f i → f i c n t …...

程序员必须掌握哪些算法?

目录 简介1. 冒泡排序&#xff08;Bubble Sort&#xff09;思想 2. 快速排序&#xff08;Quick Sort&#xff09;思想 3. 二分查找&#xff08;Binary Search&#xff09;思想 4. 归并排序&#xff08;Merge Sort&#xff09;思想 5. 插入排序&#xff08;Insertion Sort&#…...

Java高级之File类、节点流、缓冲流、转换流、标准I/O流、打印流、数据流

第13章 IO流 文章目录 一、File类的使用1.1、如何创建File类的实例1.2、常用方法1.2.1、File类的获取功能1.2.2、File类的重命名功能1.2.3、File类的判断功能1.2.4、File类的创建功能1.2.5、File类的删除功能 二、IO流原理及流的分类2.1、Java IO原理2.2、流的分类/体系结构 三…...

解决WSL2占用内存过多问题(Docker on WSL2: VmmemWSL)

解决WSL2占用内存过多问题&#xff08;Docker on WSL2: VmmemWSL&#xff09; 一、问题描述二、问题解决2.1 创建.wslconfig文件2.2 重启wsl2 一、问题描述 安装完WSL2后&#xff0c;又安装了Docker&#xff0c;使用了一段时间&#xff0c;发现电脑变卡&#xff0c;进一步查看…...

华为云云耀云服务器L实例评测|了解配置和管理L型云服务器

华为云云耀云服务器L实例配置和管理教程 华为云云耀云服务器L实例的介绍概述特点优势与弹性云服务器&#xff08;ECS&#xff09;的对比 注册和创建L型云服务器注册华为云账号创建L型云服务器实例配置实例参数配置其他参数尝试登录 远程登录 L实例查看公网ip通过本地shell远程连…...

【面试题】——Java基础篇(33题)

文章目录 1. 八大基本数据类型分类2. 重写和重载的区别3. int和integer区别4. Java的关键字5. 什么是自动装箱和拆箱&#xff1f;6. 什么是Java的多态性&#xff1f;7. 接口和抽象类的区别&#xff1f;8. Java中如何处理异常&#xff1f;9. Java中的final关键字有什么作用&…...

记一次 .NET 某电力系统 内存暴涨分析

一&#xff1a;背景 1. 讲故事 前些天有位朋友找到我&#xff0c;说他生产上的程序有内存暴涨情况&#xff0c;让我帮忙看下怎么回事&#xff0c;最简单粗暴的方法就是让朋友在内存暴涨的时候抓一个dump下来&#xff0c;看一看大概就知道咋回事了。 二&#xff1a;Windbg 分…...

1.SpringEL初始

SpringEL初始 文章目录 SpringEL初始什么是SpringELSpring BeansSpring EL以XML形式Spring EL以注解形式启用自动组件扫描 执行输出 什么是SpringEL Spring EL与OGNL和JSF EL相似&#xff0c;计算评估或在bean创建时执行。此外&#xff0c;所有的Spring表达式都可以通过XML或注…...

HTTP 状态码

状态码状态码英文名称中文描述100Continue继续。客户端应继续其请求101Switching Protocols切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议&#xff0c;例如&#xff0c;切换到HTTP的新版本协议200OK请求成功。一般用于GET与POST请求201Created已创建。成功…...

ddtrace 系列篇之 dd-trace-java 项目编译

dd-trace-java 是 Datadog 开源的 java APM 框架&#xff0c;本文主要讲解如何编译 dd-trace-java 项目。 环境准备 JDK 编译环境(三个都要&#xff1a;jdk8\jdk11\jdk17) Gradle 8 Maven 3.9 (需要 15G 以上的存储空间存放依赖) Git >2 (低于会出现一想不到的异常&#xf…...

华为aarch64架构的泰山服务器EulerOS 2.0 (SP8)系统离线安装saltstack3003.1实践

华为泰山服务器的CPU芯片架构为aarch64&#xff0c;所装系统为EulerOS 2.0 (SP8)aarch64系统&#xff0c;安装saltstack比较困难。本文讲解通过pip安装方式离线安装saltstack3003.1以进行集中化管理和维护。 一、系统环境 1、操作系统版本 [rootlocalhost ~]# cat /etc/os-r…...

C#中的方法

引言 在C#编程语言中&#xff0c;方法是一种封装了一系列可执行代码的重要构建块。通过方法&#xff0c;我们可以将代码逻辑进行模块化和复用&#xff0c;提高代码的可读性和可维护性。本文将深入探讨C#中的方法的定义、参数传递、返回值、重载、递归等方面的知识&#xff0c;…...

【Flowable】使用UEL整合Springboot从0到1(四)

前言 在前面我们介绍了Springboot简单使用了foleable以及flowableUI的安装和使用&#xff0c;在之前我们分配任务的处理人的时候都是通过Assignee去指定固定的人的。这在实际业务中是不合适的&#xff0c;我们希望在流程中动态的去解析每个节点的处理人&#xff0c;当前flowab…...

WebGL 计算点光源下的漫反射光颜色

目录 点光源光 逐顶点光照&#xff08;插值&#xff09; 示例程序&#xff08;PointLightedCube.js&#xff09; 代码详解 示例效果 逐顶点处理点光源光照效果时出现的不自然现象 更逼真&#xff1a;逐片元光照 示例程序&#xff08;PointLightedCube_perFragment.js…...

Java精品项目源码第61期垃圾分类科普平台(代号V061)

Java精品项目源码第61期垃圾分类科普平台(代号V061) 大家好&#xff0c;小辰今天给大家介绍一个垃圾分类科普平台&#xff0c;演示视频公众号&#xff08;小辰哥的Java&#xff09;对号查询观看即可 文章目录 Java精品项目源码第61期垃圾分类科普平台(代号V061)难度指数&…...

【Unity3D】资源管理

1 前言 Unity 中资源管理方案主要有 Resources、TextAsset、ScriptableObject 、AssetDatabase、PlayerPrefs、Addressables、AssetBundle、SQLite&#xff0c;本文将介绍其中大部分方案。 2 Resources Resources 主要用于加载资源&#xff0c;被加载的资源需要放在 Resources…...

品牌网站建设有哪些/深圳门户网站

1、AngularJS是一个用于设计动态Web应用的结构框架。首先&#xff0c;他是一个框架&#xff0c;不是类库。它不仅仅是一个JavaScript框架&#xff0c;因为其核心是对HTML标签的增强。 2、AngularJS弥补了HTML在构建应用方面的不足&#xff0c;其通过使用标识符directives结构&…...

网站建设模式/广州网站制作服务

一、综述二、项目启动三、需求分析四、概要设计五、详细设计与概要设计六、集成测试与系统测试七、交付验收八、系统运维九、配置管理和质量保障概要设计阶段包括&#xff1a;n 项目技术调研n 软件概要设计n 编写概要设计说明书n 概要设计评审1. 项目技术调研要素 描…...

官方网站链接如何做/磁力宅

1.汇编中的移位指令 算数移位指令 指令格式&#xff1a;SAL/SAR Reg/Mem, CL/ImmSAL(Shift Arithmetic Left):算数左移 SAR(Shift Arithmetic Right):算数右移 逻辑移位指令 指令格式&#xff1a;SHL/SHR Reg/Mem, CL/ImmSHL(Shift Left):逻辑左移 SHR(Shift Right):逻辑右移 循…...

侯马网站建设/杭州seo靠谱

浅谈ACC测试建模 1、黔驴技穷 随着测试新鲜血液的引入&#xff0c;如何在测试领域站稳脚跟&#xff0c;成为一名老司机是很多测试人头疼的问题&#xff0c;之前听过一个课程讲过测试人员发展的心路历程&#xff08;图1-1&#xff09;&#xff0c;从手动测试&#xff0c;脚本测…...

简单网页/湖南广告优化

作者&#xff1a;冯忠旗 juejin.im/post/5cfde01bf265da1bba58f863 一、背景 对于互联网应用和企业大型应用而言&#xff0c;多数都尽可能地要求做到7*24小时不间断运行&#xff0c;而要做到完全不间断运行可以说“难于上青天”。为此&#xff0c;对应用可用性程度的衡量标准一…...

江门网站推广策划/东莞做网站哪家好

下面就开始介绍一个十分强大的工具&#xff0c;正则表达式&#xff01;1.了解正则表达式正则表达式是对字符串操作的一种公式&#xff0c;就是用事先定义好的一些特定字符、及这些特定字符的组合&#xff0c;组成一个“规则字符串”&#xff0c;这个“规则字符串”用来表达对字…...