范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Rust学习笔记(十九)String(上)

  Rust开发者经常会被字符串困扰的原因Rust倾向于暴露可能产生的错误 字符串数据结构复杂 UTF-8 字符串在Rust里是什么
  字符串是字节(Byte)集合,它提供了一些方法能将byte解析为文本。在Rust的核心语言层面,只有一个字符串类型:字符串切片str(或&str) 字符串切片:对存储在其它地方并且是UTF-8编码的字符串的引用。例如字符串字面值是存储在二进制文件中的,它也是字符串切片。
  String类型: 来自标准库而不是核心语言 可增长、可修改、可拥有(可获得所有权) 也是UTF-8编码 通常说的字符串是指什么?
  通常情况下是指String和&str(字符串切片) 标准库用得多 UTF-8编码
  Rust标准库还包含了很多其它的字符串类型,例如: OsString OsStr CString CStr
  通常以String结尾的可获得所有权,以Str结尾的是可借用的。这些可以存储不同编码的文本或在内存中以不同形式来展现。
  某些第三方库(Library crate)针对存储字符串可提供更多的选项。
  这里主要讲String类型的字符串。 创建一个新的字符串(String)
  由于String是字节集合,所以很多Vec的操作都可用于String。例如: 使用String::new()函数创建空字符串 使用to_string()方法创建含初始值的String。此方法可用于实现了Display trait的类型,包括字符串字面值。例: fn main() {     let data = "initial contents";     let s: String = data.to_string();     let s1: String = "initial contents".to_string(); } 使用String::from()函数来从字面值创建String,例: fn main() {     let s: String = String::from("initial contents"); } 更新Stringpush_str()方法:把一个字符串切片附加到String,例: fn main() {     let mut s: String = String::from("initial contents");     s.push_str("string");     let s1 = String::from("123");     s.push_str(&s1);//push_str()是借用参数。不会获得实参的所有权,所以下面还可以使用s1     println!("{}, {} ", s, s1) } push()方法:把单个字符附加到String,例: fn main() {     let mut s: String = String::from("LO");     s.push("L");     println!("{}", s) } +:连接(拼接)字符串,例: fn main() {     let s: String = String::from("LO");     let s1: String = String::from("L");     let s2 = s + &s1;     println!("{}", s2) }
  看一个例子: fn main() {     let s1: String = String::from("LO");     let s2: String = String::from("L");     let s3 = s1 + &s2;     println!("{}, {}, {}", s3, s1, s2); }
  以上代码无法通过编译,s1在拼接之后无法再次使用。 因为+运算符使用了类似于fn add(self, s: &str) -> String {}方法,参数self是s1,因为不是引用,所以函数取得了s1的所有权,因此s无法再次使用。而参数s是s2, 我们传入的是s2的引用,函数不具有s2的所有权,所以s2可以再次使用。 注意这里的s: &str,它是字符串切片,但是我们传入的类型是String的引用。为什么类型不同还可以编译成功呢?因为编译器使用了"解引用强制转换(deref coercion)"的技术,它把String的引用转换成了字符串切片。 format!宏: 连接多个字符串,例: fn main() {     let s1: String = String::from("12");     let s2: String = String::from("34");     let s3: String = String::from("56");     let s4 = format!("{}-{}-{}", s1, s2, s3);//format!()不取得参数所有权     // let s4 = s1 + "-" +  &s2 + "-" +  &s3;//与format!()效果类似,但s1无法再次使用     println!("{}, {}, {}, {}", s4, s1, s2, s3); }

海外实拍丰田MIRAI氢燃料汽车实车已入境,即将服务北京冬奥会!日前,据相关媒体报道,已有140辆丰田Mirai氢燃料电池车通过海关入境,这些车辆将担负起北京冬奥会延庆等山地赛区观众或工作人员的运送服务。新车外观与上市销售车型基本一致。标配LE继特斯拉之后北京奔驰GLB入门版车型又涨价2000元!日前,据梅赛德斯奔驰官网宣布,北京奔驰GLB售价进行了调整,新车最新官方指导价为29。48万34。41万元。其中,GLB180动感型及时尚型售价上调了2,000元,而作为顶配车型的欧盟认证CE认证如何申请,哪里申请CE认证测试LVD,EMCCE标志是一种安全认证标志,被视为制造商打开并进入欧洲市场的护照。CE代表欧洲统一(CONFORMITEEUROPEENNE)。凡是贴有CE标志的产品就可在欧盟各成员国内销售,无须世界上神秘的地方,石像面朝大海神情严肃,考古学家无从考证啾咪啾咪,这里是发兔看世界这三个地方世界上最神秘,快来感受一波第3名复活节岛位于智利,这座岛上最出名的就是近千尊巨大的石雕人像,遍布在山野或是海边,它们形象奇特,神情严肃,面对大海世界上整容次数最多的人,27年动了上千次二十七年整容上千次?啾咪啾咪,是追梦,还是疯癫?丹尼斯阿夫纳,吉尼斯世界纪录中整形次数最多的人,别人整容是为了变美,而他则是呜哇,老虎好帅气,我想变得和他一样凶猛!因为崇拜,22岁深圳大学城风光随手记录深圳大学城的风貌。深圳大学丽湖校区晚霞深圳大学城体育中心深圳大学城体育中心黑白建筑黑白建筑深圳大学惟礼门深圳大学城深圳大学城主题深圳大学城风光器材荣耀V30Pro和索尼A7新款UNIT运动版真带感,配12。3英寸双联屏,1。5T动力有点香长安UNIT可以说是出身就自带光芒,凭借独特的设计风格,一经上市就顺利成为了小网红,每月的销量稳定在了6000多辆左右。值得注意的是,在一项调查报告中,根据长安车机系统显示,超过六AIONVPlus的黑科技有点多,科幻版的外观,辅助驾驶系统行业领先了解广汽埃安的朋友都会被它的品牌理念所吸引,先进好玩新潮高品质品牌理念让其旗下产品推出之后销量一直都很不错,甚至做到了每月上万辆车这样的水平。此前的AIONV更是用它越级的驾乘质感星瑞也开始走运动风,依旧是旗舰车型的品质,黑化处理够加分吗?星瑞可以说是自主品牌车型中的小明星,从上市到现在已经过去十个月,累计销量已经突破十万,平均每月1万的销量可以说是在同级傲视群雄。在同级合资车配置不如自主车型的前提下,星瑞无论是从外静态体验欧尚X7PLUS,外观大气,搭载1。5T动力,预售7。99万起长安欧尚X7自发布以来,就受到大众的好评,这台车直接体现在了数据上,从它上市以来,长安欧尚X7的用户数量就突破了18万台,于是为了借机提高品牌影响力以及车辆销量,直接对长安欧尚X7新款凌派亮相天津车展,造型更气派,内饰小改,仍提供三缸动力合资品牌中的紧凑型A级轿车的竞争非常地激烈,其领域那几辆车都是大家耳熟能详的,其中的广汽本田凌派就是其中的爆款之一,光是在2020就销售了超过11万台,足以见得它作为一台中国特供车
韩国人估计没想到,现代居然买了宁德时代的CTP授权关注并标星电动星球News每天打卡阅读更深刻理解汽车产业变革出品电动星球News作者毓肥上周星期三,宁德时代搞了个事情。10月27日,宁德时代与现代摩比斯签署技术许可与合作意向协议特斯拉Q3财报30。5利润率捅破天花板,下一款车2023年发布关注并标星电动星球News每天打卡阅读更深刻理解汽车产业变革出品电动星球News作者毓肥不出意料地,马斯克并没有出席特斯拉2021Q3财报会议。这是他在Q2会议上就已经预告的如果没毛巾架选对了,卫生间舒适感倍增卫生间装修时大部分的人会忽略毛巾架的选择和安装,认为毛巾架这个物件可有可无,随意安装便可。其实不然,毛巾架除了挂放毛巾以外,还影响到整个卫生间的便利性和舒适性。一旦没选好,或者毛巾皮革家居的魅力,看一眼就沦陷有皮革元素的家,往往怀旧中带着令人瞩目的高级感,虽然看起来特立独行,但运用好了却能展现极强的包容性,能在家居中游刃有余的与各种元素相互搭配,相互衬托。并且它的纹理和质感,有着提升空家居建材行业,有哪些获客渠道,能让成交水到渠成随着家居,装修设计货运物流和电子商务环境的日趋健全,家居品牌的竞争力从地区市场竞争扩展为各省区域的市场竞争,一些以降低成本为核心竞争力的知名品牌发觉总是能找出比自身价钱还低的相近竞安防周看点智能家居新连接标准MatterZigbee联盟更名一周热点亚马逊苹果等合作发起智能家居新连接标准Matter5月12日消息,苹果亚马逊和谷歌等大型科技公司组成的连接标准联盟宣布推出一个用于智能家居设备的新连接标准Matter,第一浅析关于智能家居标准建设前言近年来,随着科技的迅速发展,AIoT的概念开始盛行,智能家居产业进入了一个全新的发展时期。智能家居的标准如何定义?怎样才能称之为智能?未来智能家居行业的发展趋势是什么?智能家居智能家居成为刚需,要解决什么?智能家居建设是一个整体的概念,全屋智能才是真正完成了智能家居,毕竟单一产品很难形成物联网的效果。正如蓝牙联盟高级开发者关系经理孙啸所说,目前市场上多数家居品牌产品碎片化,实现全屋智在Mac上安装ElasticsearchElasticsearch简介Elasticsearch是一个用Java开发的开源全文搜索引擎。用户上传JSON格式的数据集。然后,Elasticsearch在向集群索引中的文档添强大的抓包工具mitmproxy对于抓包工具,我刚开始从Charles(青花瓷抓包工具)开始的,虽然说功能还是特别的强大。如何给抓到数据存入到数据库中呢,这里我推荐一下mitmproxy。安装在Mac安装mitm十分钟了解Mongodb数据库前言本文可能比较长,主要分为3个部分。1。mongodb的简介。2。mongodb的安装。3。mongodb查询指令,大家可以根据选择进行阅读。1。2什么是MongoDBMongo