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

免费建网站.com的区别宁波seo深度优化平台

免费建网站.com的区别,宁波seo深度优化平台,项目网评ppt,网站建设能挣钱吗8.2.0. 本章内容 第八章主要讲的是Rust中常见的集合。Rust中提供了很多集合类型的数据结构,这些集合可以包含很多值。但是第八章所讲的集合与数组和元组有所不同。 第八章中的集合是存储在堆内存上而非栈内存上的,这也意味着这些集合的数据大小无需在编…

8.2.0. 本章内容

第八章主要讲的是Rust中常见的集合。Rust中提供了很多集合类型的数据结构,这些集合可以包含很多值。但是第八章所讲的集合与数组和元组有所不同。

第八章中的集合是存储在堆内存上而非栈内存上的,这也意味着这些集合的数据大小无需在编译时就确定,在运行时它们可以动态地变大或变小。

本章主要会讲三种集合:Vector(本文)、String和HashMap

喜欢的话别忘了点赞、收藏加关注哦(加关注即可阅读全文),对接下来的教程有兴趣的可以关注专栏。谢谢喵!(=・ω・=)

8.2.1. Vector和enum的互补

虽然Vector它可以动态地变大或变小,但是它里面元素的数据类型是必须一样的,但有的时候我们需要存储不同类型的数据在堆内存上,那这种情况怎么办呢?

还记得6.1. 定义枚举中介绍的枚举类型吗,枚举的变体是可以附加数据的,而且这些附加的数据可以是不同类型。最主要的是,枚举类型的变体都是定义在同一个枚举类型下的,也就是说所有的变体都是同一个类型,就可以被存储到Vector中。

这样就可以通过枚举实现了在Vector里存储不同数据类型的数据的功能。

8.2.2. Vector + enum

来看一个实际使用Vector+枚举类型的例子:

enum SpreadSheetCell {  Int(i32),  Float(f64),  Text(String),  
}  fn main() {  let row = vec![  SpreadSheetCell::Int(5567),  SpreadSheetCell::Text("up up".to_string()),  SpreadSheetCell::Float(114.514),  ];  
}

这个例子实现了模拟Excel单元格的功能,单元格内存储的只能是是整数、浮点数和字符串其中之一,所以声明了SpreadSheetCell这个枚举类型,拥有3个变体,分别用于存储整数(Int)、浮点数(Float)和字符串(String)。

main函数中,声明了变量row用于存储一行的单元格,因为一行的单元格数量不确定,所以需要Vector来存储,在这里初始化时有三个单元格,第一个存储整数6657,第二个放了字符串"up up",第三个放了浮点数114.514。

通过这个例子,我们可以看到通过使用可附加数据的枚举类型,就可以变相地在Vector里存放不同类型的数据。

那么Rust为什么在编译的时候就需要知道Vector里的元素的类型呢?因为这样Rust才能确定堆内存上到底需要多少内存来容纳这个Vector。除此之外,如果允许在Vector上存储不同类型的元素,那么在对Vector上的元素进行批量操作时,有些操作可能在某些类型上是合法的而在某些类型上不是,程序就会出错。而这种枚举类型配合match表达式的方式使得Rust能在编译时提前知晓所有的可能情况,在运行时就可以正确处理了。

在这个例子上Vector实现了存储不同的数据类型,但前提条件是我们必须知道到底有哪些数据类型(或者叫知道详尽的数据类型),否则的话,如果这个类型有无限种可能(或者叫不详尽),那么使用枚举也没有办法,连枚举都定义不出来。针对这种情况,Rust提供了trait,但这个得等到后面讲了。

http://www.wooajung.com/news/26526.html

相关文章:

  • wordpress加载不同模板简述影响关键词优化的因素
  • 做外贸在什么网站上比较好营销活动怎么做吸引人
  • 网站产品标签文章标签怎么做深圳seo网络推广
  • 上海网络营销团队合作河南seo和网络推广
  • 网站建设 沈阳广告公司推广平台
  • 南昌网站开发培训班品牌营销策划有限公司
  • 徐州专业网站制作公司国外seo大神
  • 南昌优化网站分析网络推广公司服务内容
  • 网站建设课程毕设电商培训机构推荐
  • 张家港网站建设门店企业官网定制设计
  • 一个做网站的公司年收入济南网站优化排名
  • 推荐几个色情图片网站推广方案的推广内容怎么写
  • 太原网站制作开发seo网站推广教程
  • 网站优化垂直化好还是扁平化好seo是什么?
  • 网站优化要从哪些方面做公司在百度怎么推广
  • cdr做网站分辨率博客网站登录入口
  • 接单网个人接单企业新网站seo推广
  • 如何把做的网站与域名连接石家庄新闻最新消息
  • 合肥市房产信息网官网优化设计七年级下册语文答案
  • python 网站开发实例教程网络营销手段有哪些方式
  • 网站开发三层在线服务器网站
  • 可以免费建立网站吗如何让新网站被收录
  • 广东门户网站建设中国站免费推广入口
  • 网站制作老了舆情管理
  • 天津做网站的网络公司如何提升网站搜索排名
  • 建网站推广淘宝店seo优化就业前景
  • 模板做的网站如何下载地址百度代理公司
  • 影视网站建设搜索引擎推广是什么意思
  • 东营专业网站建设公司排行宁德市政府
  • 企业如何建公司网站百度官网网址