ToB企服应用市场:ToB评测及商务社交产业平台
标题:
【Rust】字符串String类型学习
[打印本页]
作者:
农妇山泉一亩田
时间:
2024-7-16 17:48
标题:
【Rust】字符串String类型学习
什么是String
Rust的焦点语言中只有一个String类型,那就是String slice,str通常被看成是&str的借用。
String类型是通过标准库提供的,而不是直接编码到焦点语言中,它是一个可增长的、可变的、utf-8编码的类型。
str和String都是utf-8编码的。如果你想利用一个非utf-8编码的String,可以利用OsString。
创建新的String
String实际上是通过包装bytes类型的vector实现的。
利用new方法创建String:let mut s = String::new()
利用to_string方法创建String:
let data = "initial contents";
let s = data.to_string();
let s = "initial contents".to_string();
复制代码
利用String::from方法创建字符串,let s = String::from("initial contents").
根据指定的容量,创建一个空字符串let mut s = String::with_capacity(10);。当字符串长度小于10的时间,不会触发内存重分配。
可以通过len方法检察字符串长度,通过capacity方法检察字符串容量。
通过utf-8类型的vector创建字符串。
更新String
利用push_str和push追加字符串
let mut s = String::from("foo");
s.push_str("bar");
// s is foobar
复制代码
push_str方法不会改变字符串的所有权
let mut s = String::from("lo");
s.push('l');
// s is lol
复制代码
利用+操作符或者 format!宏连接字符串
let s1 = String::from("Hello, ");
let s2 = String::from("world!");
let s3 = s1 + &s2; // note s1 has been moved here and can no longer be used
复制代码
let s1 = String::from("tic");
let s2 = String::from("tac");
let s3 = String::from("toe");
let s = format!("{s1}-{s2}-{s3}");
复制代码
Rust不允许利用下标访问字符串里面的单个字符
迭代字符串的方法
可以利用chars方法访问独立的UniCode字符。利用bytes方法访问每一个字节。
for c in "Зд".chars() {
println!("{c}");
}
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4