码迷,mamicode.com
首页 > 其他好文 > 详细

Rust的str与String

时间:2015-09-30 23:22:33      阅读:1078      评论:0      收藏:0      [点我收藏+]

标签:

字面量

http://doc.rust-lang.org/reference.html#literals

字面量是放在编译后的二进制的静态数据段的。

 

str字面量引用

let a_str = "abcdefg" 
let b_str = "你好世界" 

使用字符串字面量创建的字符串引用,其 lifetime 是 ‘static 的。而使用另一种方式:来自 String 的形式创建的&str,其 lifetime 是非 ‘static 的。

 

&str是不可被move的。因为它是另外一个地方的字符串实体的引用,而这个实体被另外一个主体(或静态)所拥有。

 

&str 与 String 的相互转换

str -> String
  a_str.to_string()

String -> str
  &a_string
  &a_string[..]

 

str和String都是UTF-8流。因此,它们的字节长度跟你输入的字面量的“长度”实际很可能不同(大部分中文字一个字符对应3个字节)。

a_str.len()   返回的是字节数

 

&str  与  &[u8]   是一样的

 

参考:

http://doc.rust-lang.org/std/primitive.str.html

 

 

 

 

字符串格式化

{}

format!

 

 

 

字符串的搜索替换匹配

 

Rust的str与String

标签:

原文地址:http://www.cnblogs.com/daogangtang/p/4850464.html

(0)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!