【Rust】字符串String类型学习
什么是String
- Rust的核心语言中只有一个String类型,那就是String slice,
str
通常被当作是&str
的借用。 - String类型是通过标准库提供的,而不是直接编码到核心语言中,它是一个可增长的、可变的、utf-8编码的类型。
str
和String
都是utf-8编码的。
创建新的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")
.
更新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}");
}
原文地址:https://blog.csdn.net/C2681595858/article/details/140281796
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!