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

海南行指海口网站开发网店运营推广实训

海南行指海口网站开发,网店运营推广实训,东莞信科做网站,网站首页关键词设置字符串 Rust 中的字符串类型是String。虽然字符串只是比字符多了一个“串”字,但是在Rust中这两者的存储方式完全不一样,字符串不是字符的数组,String内部存储的是Unicode字符串的UTF8编码,而char直接存的是Unicode Scalar Value…

字符串

Rust 中的字符串类型是String。虽然字符串只是比字符多了一个“串”字,但是在Rust中这两者的存储方式完全不一样,字符串不是字符的数组,String内部存储的是Unicode字符串的UTF8编码,而char直接存的是Unicode Scalar Value
Rust字符串对Unicode字符集有着良好的支持,可以看一下示例:

let hello = String::from("こんにちは");
let hello = String::from("Dobrý den");
let hello = String::from("Hello");
let hello = String::from("שָׁלוֹם");
let hello = String::from("नमस्ते");
let hello = String::from("안녕하세요");
let hello = String::from("你好");
let hello = String::from("Olá");
let hello = String::from("السلام عليكم");
let hello = String::from("Здравствуйте");
let hello = String::from("Hola");

Rust 中的String不能通过下标去访问。

let testString = String::from("天下");
let s = testString[0]; // 你可能想把“天”字取出来,但实际上这样是错误的

String存储的Unicode序列的UTF8编码,而UTF8编码是变长编码。上边即使能访问成功,也只能取出一个字符的 UTF8 编码的第一个字节,很可能是没有意义的。因此 Rust 直接对String禁止了这个索引操作。

字符串字面量中的转义

与 C 语言一样,Rust 中转义符号也是反斜杠\,可用来转义各种字符。

fn main() {// 将""号进行转义let byte_escape = "I'm saying \"Hello\"";println!("{}", byte_escape); //输出的内容为 I'm saying "Hello"// 分两行打印let byte_escape = "I'm saying \n 你好";println!("{}", byte_escape);//输出的内容是// I'm saying// 你好// Windows下的换行符let byte_escape = "I'm saying \r\n 你好";println!("{}", byte_escape);//输出的内容是// I'm saying// 你好// 打印出 \ 本身let byte_escape = "I'm saying \\ Ok";println!("{}", byte_escape);//输出的内容是  I'm saying \ Ok// 强行在字符串后面加个0,与C语言的字符串一致。let byte_escape = "I'm saying hello.\0";println!("{}", byte_escape);//输出的内容是 I'm saying hello.
}

在这里插入图片描述

Rust 还支持通过\x输入等值的 ASCII 字符,以及通过\u{}输入等值的 Unicode 字符。

fn main() {// 使用 \x 输入等值的ASCII字符(最高7位)let byte_escape = "I'm saying hello \x7f";println!("{}", byte_escape);// 使用 \u{} 输入等值的Unicode字符(最高24位)let byte_escape = "I'm saying hello \u{0065}"; // 0065表示的是十六进制 65,也是十进制 101println!("{}", byte_escape);
}

在这里插入图片描述

禁止转义的字符串字面量

我们要是想输出原始字面量,也就是不进行转义,使用 r""r#""#把字符串字面量套起来就行了。

fn main() {// 字符串字面量前面加r,表示不转义let test_str = r"test \x7f \u{0066}";println!("{}", test_str);// 这个字面量必须使用r##这种形式,因为我们希望在字符串字面量里面保留""let test_string = r#"He says: "Work hard and make progresses everyday""#;println!("{}", test_string );// 如果遇到字面量里面有#号的情况,可以在r后面,加任意多的前后配对的#号,// 只要能帮助Rust编译器识别就行let test_string1 = r###"A string has "# in it. And even "##!"###;println!("{}", test_string1);
}

在这里插入图片描述

字节串

很多时候,我们只需要 ASCII 字符集,字符串字面量中用不到Unicode字符。对于这种问题,Rust 还有一种更紧凑的表示法:字节串。用b开头,双引号括起来,比如b"this is a byte string"。这时候字符串的类型已不是字符串,而是字节的数组 [u8; N]N为字节数。示例代码如下:

fn main() {// 字节串的类型是字节的数组,而不是字符串了let bytestring: &[u8; 21] = b"this is a byte string";println!("A byte string: {:?}", bytestring);// 可以看看下面这串打印出什么let escaped = b"\x52\x75\x73\x74 as bytes";println!("Some escaped bytes: {:?}", escaped);// 字节串与原始字面量结合使用let raw_bytestring = br"\u{211D} is not escaped here";println!("{:?}", raw_bytestring);
}

在这里插入图片描述

http://www.dt0577.cn/news/14053.html

相关文章:

  • 青海网站建设哪家好免费职业技能培训网
  • 万网虚拟主机两个网站营销策划36计
  • 学做wordpressseo服务优化
  • 软件下载网站建设十大网站平台
  • 淮委建设局网站网站快速优化排名
  • 自己做提卡网站网站开发外包
  • 公司网站设计意见收集宁波网站关键词排名推广
  • 如何查网站服务器速度短视频seo
  • ppt做视频的模板下载网站有哪些环球贸易网
  • 旅游网站网页设计论文私密浏览器免费版
  • 写小说的网站自己做封面电商平台怎么运营的
  • 网站建设公司的职责seo网址大全
  • 成都专业小程序开发公司线下课程seo
  • 如何在自己网站添加链接排名优化方法
  • ps怎么做网站首页和超链接黄页88网官网
  • 网站手机端 怎么做培训心得体会1000字
  • 做qq阅读网站介绍友情链接什么意思
  • 如何看网站的关键词广告公司名字
  • 阿里云企业网站搭建端点seo博客
  • 做网站是否要备案专业seo网络推广
  • 提供做pc端网站国内新闻大事20条简短
  • 大连企业需要做网站网络营销服务平台
  • 深圳有哪些软件公司seo推广优化平台
  • 无锡论坛网站建设搜索引擎优化方案
  • 大的网站建设公司品牌宣传推广策划方案
  • 网站开发和网站运营网络营销活动策划方案模板
  • 网站开发专业考啥证书个人建网站的详细步骤
  • 如何更改公司网站内容综合查询
  • 社交网站开发平台谷歌搜索引擎入口2023
  • flash网站怎么做上海搜索引擎优化1