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

大学生网站制作作业免费下载个人域名可以做KTV网站吗

大学生网站制作作业免费下载,个人域名可以做KTV网站吗,刷赞网站推广qq,家具网站建设公司在Rust中, 字符串类型其实是一个比较复杂的话题。在Rust的标准库中,至少都提供了6种字符串类型,我们平常使用的最多的是其中的两种。这两种类型互相之间也有所关联: str: 字符串切片String 字符串 其中, 字…

在Rust中, 字符串类型其实是一个比较复杂的话题。在Rust的标准库中,至少都提供了6种字符串类型,我们平常使用的最多的是其中的两种。这两种类型互相之间也有所关联:

  • str: 字符串切片
  • String 字符串
    其中, 字符串切片的常见形式是它的借用类型&str, 通常,一些字符串字面量都属于&str类型 ,例如:
let msg = "Hello 🌏";  // msg的类型是&str

字符串切片通常也被直接称为字符串, 很多人会把它跟另一种字符串类型String混淆。他们之间的主要区别在于:

  • &str: 是一个借用,不能被修改
  • String: 可以被修改

我们常用两个函数将字符串切片转换成字符串:

let msg = "ab🎉".to_string();    // 调用字符串切片的to_string()函数
let msg = String::from("ab🎉");  // 将字符串切片作为参数传给String类型的from函数

从数据结构的角度来看, &str类型由一个指向一组字节的指针和长度(len)属性组成请添加图片描述

String类型由一个指向一组字节的指针, 长度(len)属性和容量(capacity)属性组成
请添加图片描述
因此,可以看出,&str其实可以看作是String的一部分。 因此, 它们也具有很多其他相同的特征, 例如,根据定义、编译器强制要求以及运行时检查,这两种字符串类型都是有效的 UTF-8格式。请添加图片描述
另外, 不论是&str还是String, 都不能用下标来访问对应位置的字符,因为英文并不是这个世界上唯一的语言, 随便google一下就可以得知,这个世界上至少有6900多种不同的语言文字和甚至还有各种不同的表情图案, 要把这么多种文字都能通过编码的形式表达, 只有Unicode编码可以做到, 因此, 字符串都是Unicode编码的, 这就是为什么字符串中的字符不能用下标来访问的原因,例如:

let word = "สวัสดี";

如果我们想要通过下标来访问最后一个符号,可能会想到这样做:

word[3]  // ดี

但这不能得到我们想要的结果,实际上,上面的字符串会被存储在一个18字节的可变数组(vector)中, 如下:

224184170224184177224184177224184170224184148224184181

上面的word[3]实际上得到的就是上面这个数组中的第4个元素224, UTF-8的编码规则下, 一个Unicode字符可能占用1 - 4个字节的长度不定,因此必须要遍历每个字节,才知道每个符号从哪里开始,在哪里结束。在上面的例子中,每3个字节代表了一个Unicode符号(scalars):
请添加图片描述
而其中可能由一个或多个Unicode符号才能组成一个有意义的文字符号(graphemes)请添加图片描述
Rust的标准库的集合类型提供的索引操作始终保证是时间恒定的操作, 但是对于字符串的索引却不能做到,因为当我们对字符串进行索引操作时,得到的是字节,而这个结果大概率并不是我们想要得到的结果(如上所述,一个有意义的语言文字字符可能是一个或多个字节组成的)。

所以当我们看到一个字符串时,我们可以选择进行下面的操作:

  • word.bytes(); : 用bytes()函数来获取字符串的UTF-8字节的向量(Vector), 如果你能保证使用的文字只有ASCII码中包含的部分的话, 用索引来获取字符串中的字符也没有问题;
  • word.chars(): 用chars()函数可以获得一个迭代器,可以返回字符串中的每个Unicode标量, 再用例如unicode-segmentation这样的包中提供的函数,来得到有意义的文字符号 。

如果选择使用迭代器来处理字符串的话, 迭代器提供了一个函数nth(), 可以用来替代索引, 例如:

word.chars().nth(3)  // 获取word中的第4个Unicode标量

Rust的字符串类型提供了许多现成的函数,用于处理字符串,下面是列出的一些:
请添加图片描述

http://www.yayakq.cn/news/10010/

相关文章:

  • 信息管理系统网站开发wordpress pdf 在线
  • 建设部网站阮建昌公示桂林欣梦网络
  • 成都网站优化哪家好建设银行咸阳交费网站
  • 建设山东公司网站怎么完整下载网站模板
  • 网站内容批量替换wordpress页面样板
  • 上海站优云网络科技有限公司吉祥物在线设计网站
  • 网站访客qq统计 原理小程序自己制作流程
  • 做网站收录大连网站开发 选领超科技
  • php网站开发的发展前景网站建设的相关资料
  • 网站建设成功案例书籍合肥专业网站建设公司哪家好
  • 如何服务器ip地址做网站洪泽区做网站
  • 企业网站的设计与实现电子商务网站开发目标
  • 预定型网站有哪些网站招聘栏怎么做
  • 清流县建设局网站自适应网站建设软件
  • 服务型网站建设的主题网站开发提供源代码
  • 给一个学校网站做宣传海报东莞公司网络建设
  • 竞猜网站建设怎么搭建一个简单的网站
  • 企业网站备案 过户做外贸需要什么条件
  • 合肥金融直播室网站建设黑马程序员大学叫什么
  • 做背景图获取网站网络服务推广
  • 网站建设中图片尺寸都达科技股份有限公司网页设计
  • 西宁手机微网站建设汽车商城网站模板免费下载
  • 电脑版网站建设合同做课件好用的网站
  • 做网站需要营业执照吗移动wordpress文件夹目录下
  • 京东在线购物网站环保业网站建设的策划
  • 找人做的网站推广被坑wordpress .net版本号
  • 固定ip如何做网站服务器做网站优化给业务员提成
  • 做外链哪个网站好wordpress负载均衡
  • 合肥高端网站建设设计公司网站管理系统怎么做
  • 顺德精品网站建设旅行做攻略的网站好