用实例学习 Rust——序列类型

用实例学习 Rust——序列类型

Rust的序列类型有三类。Array类型是在编译期间就确定的了,只能含有单一类型,并且不能改变大小。Tuple类型可以含有不同的数据类型,但是同样不能改变大小。Vec是个泛型序列类型,含有的数据类型为T,它是可以动态改变大小的。下面通过代码,我们来看看它们各自都有什么特性。
先来看看Array:
usize代表数组中的数据类型,5代表数组的大小。0为数组中的初始值。
初始化值为[1,2,3,4,5],注意数组大小是5。
因为arr1被mut修饰,所以可以修改数组中的值,像其他语言一样,用索引指定修改的元素。
下面来看看Tuple:
等号左边的括号里面是数据类型声明,等号右边是数据初始值。访问tuple中的元素和数组类似,用索引值,但用的是类似对象访问属性的.的方式。因为mut修饰的缘故,我们可以修改tuple里面的值。
像上面代码声明struct的方式,其实是tuple。我们看到访问元素的方式同样是.和索引的方式。
最后我们来看看Vec:
使用vec!宏初始化了一个Vec。
声明了一个元素类型为i32的Vec,并初始化为空。
往Vec中添加元素。在索引0的位置插入200。输出为[200,100,300]。swap_remove方法移除索引值,然后用Vec中的最后一个值代替被移除元素的位置。移除值为200。Vec中的元素为[300,100],300为最后一个元素,代替了被移除的200的位置。pop方法移除的是最后一个元素,也就是100,返回值为Option类型,也就是Some(100)。因为有可能在用pop的时候Vec中已经没有元素了,将返回None。输出为[300]。shrink_to_fit方法会根据Vec中的元素数量改变大小。比如原来有3个元素,现在是0个元素,那么size将变为0,但Vec的容量值比0要大。
如有任何问题,请添加微信公众号“读一读我”。

主题测试文章,只做测试使用。发布者:最新稳定辅助网,转转请注明出处:https://www.744broad.com/16652.html

(0)
上一篇 2023年3月10日 上午8:18
下一篇 2023年3月10日 上午8:20

相关推荐

  • 这款游戏更新了什么,使得三年后的玩家热度依然火爆

    这款游戏更新了什么,使得三年后的玩家热度依然火爆 武侠,是属于成年人的童话;鲜衣怒马,仗剑江湖的江湖梦是每个中国人难以割舍的情结。武侠发端于文学,兴于影视,而武侠游戏对武侠文化的演绎则另有一番趣味,我们可以亲自踏上英雄路,血雨腥风与刀光剑影在掠过屏幕的时候,又何尝不是撩拨着我们的心弦。而《逆水寒》作为目前市面上画面与剧情都最为出彩的武侠MMO网游之一,也在不…

    RUST资讯 2023年3月11日
    20
  • 罗湖将免费改造供水设施,申请流程看这里

    罗湖将免费改造供水设施,申请流程看这里 城市供水是城市建设的重要基础设施,关乎国计民生,对保证城市经济的稳定发展和人民生活水平的提高有着举足轻重的作用。社区二次供水设施改造更是直接关系到千家万户,是居民用水保障的“最后一公里”,也是人民群众最关心、最现实的民生工程。作为老城区,罗湖辖区内部分居民小区给水设施建设年代久、标准低,对居民的饮用水安全和生活环境造成…

  • 为什么越来越多公链项目将WASM拥入怀中?

    为什么越来越多公链项目将WASM拥入怀中? 最近越来越多的项目开始转向VNT使用的WASM,像EOS、Ontology,包括最初引入虚拟机EVM运行智能合约环境的以太坊,最近也开始转向使用WASM。WASM,全称:WebAssembly,是一种可以使用非Java编程语言编写代码并且能在浏览器上运行的技术方案,也是自Web诞生以来首个Java原生替代方案。EV…

  • CentOS7安装Rust版本管理工具rustup

    CentOS7安装Rust版本管理工具rustup 为了要编译一个东西,所以折腾了下rustup,顺便写个教程。Rust是一门系统级编程语言,被设计为保证内存和线程安全,并防止段错误。作为系统级编程语言,它的基本理念是“零开销抽象”。理论上来说,它的速度与C/C++同级。rustup是rust官方的版本管理工具。应当作为安装Rust的首选。这时候选择默认的1…

    RUST资讯 2023年2月17日
    70
  • 程序员如何为自己的Github项目选择开源许可证 ?

    程序员如何为自己的Github项目选择开源许可证 ? hello,小伙伴们,大家好,今天给大家推荐的是:程序员如何为自己的Github项目选择开源许可证?推荐给正在写开源项目的小伙伴或者是想写的小伙!!可选:添加Apache-2.0到你的软件描述信息中,(例如,Node.js,Ruby,和Rust)。这可以让别人明确了解该软件是遵循哪种协议发布的。没有Lic…

    RUST资讯 2023年2月24日
    80
  • Facebook最新Libra币开发指南—接口服务器开发1

    Facebook最新Libra币开发指南—接口服务器开发1 在LibraCore中,官方提供了一个命令行工具,可以实现创建账户、挖矿和转账等基本操作,但是没有提供Restful接口,使我们想要开发的应用系统,将区块链逻辑移植到LibraTestnet上去。在本篇博文中,我们将利用Rust语言,将官方的命令行接口,改造成RESTful接口。由于我们…

    RUST资讯 2023年2月17日
    80
  • 被认为是C语言接班人的Rust编程语言刚满六岁

    被认为是C语言接班人的Rust编程语言刚满六岁 Rust编程语言的开发者在周六庆祝了自1.0版本推出以来的六周年。在其相当短的生命历程中,它作为C语言的替代品获得了很多兴趣,这要归功于默认开启的代码安全功能,它带来的是更少的可被利用的内存相关错误。这种内存安全特性让不少程序员注意到了它,由此它的采用率开始了编程语言当中不可思议的火箭式上升,StackOver…

    RUST资讯 2023年2月23日
    70
  • 2018年浏览器混战:为什么技术救不了Edge?

    2018年浏览器混战:为什么技术救不了Edge? 在推出3年之后,从市场份额来看,Edge无疑是失败的。根据用户的使用数据来看,它的份额仅为4-5%。这个数字居然是来自一家半垄断运营桌面操作系统的公司,而它曾经拥有80-90%的市场份额,几乎是完全垄断的。更糟糕的是,如果再算上移动市场,市场份额急剧下降至2%左右。在2-5%的范围内,Edge与一大堆没人真正…

    RUST资讯 2023年2月15日
    100
  • 2021年,我跑回古代打了一波江山

    2021年,我跑回古代打了一波江山 大家好,我是罗斯特。如果是熟悉我的玩家朋友们,可能会知道本人是一名乐于尝试各种可能的选手,我的生活日常就是浏览各大游戏平台,记录下看起来有点意思的游戏,然后条件允许的话进行尝试。当然话虽这么说,也有两种我连看都不会看的游戏类型。第一种是华容道游戏,华容道因为其简单易上手且容易实现的特性成为了劣质独立游戏的重灾区;另一种则是…

    RUST资讯 2023年2月16日
    50
  • Linux内核讨论是否引入Rust语言,我们或像学C一样学这门新语言了

    Linux内核讨论是否引入Rust语言,我们或像学C一样学这门新语言了 Rust作为一门比较新的系统级编程语言,曾连续几年被开发者评为最受喜爱的编程语言。它的定位,似乎就是对标老牌王者编程语言C/C++的,和C/C++比,性能虽不相上下,Rust却更好用(当然一人客需要说明的是,和其他新式的编程语言相比,Rust的学习曲线依然陡峭),能保证内存安全,优雅解决…

    RUST资讯 2023年2月19日
    80
关注微信