字符串追加之push_str
fn main() {
let s2 = String::from("basket");
let s3 = String::from("ball!");
let s4 = s2 + &s3;
println!("s4 is {}", s4);
}
字符串追加之add操作
fn main() {
let s2 = String::from("basket");
let s3 = String::from("ball!");
let s4 = s2 + &s3;
println!("s4 is {}", s4);
}
注意 + 对应的是 add 操作
fn add(self, s: &str) -> String {
在 add 操作之后,self 的所有权被转移走了,所以 s2 不再有效。 另外s3使用引用进行操作,所以它仍然有效。
由于add比较难于理解,对于多个字符串拼接,更推荐使用format!宏
fn main() {
let s4 = String::from("one");
let s5 = String::from("two");
let s6 = String::from("three");
let s7 = format!("{}-{}-{}", s4, s5, s6);
println!("s4 is {}", s7);
}
字符串是一个 UTF-8 数组,正确的遍历方式如下
fn main() {
for c in "我是中国人".chars() {
println!("{}", c);
}
for c in "我是中国人".bytes() {
println!("{}", c);
}
}
输出:
我
是
中
国
人
230
136
145
230
152
175
228
184
173
229
155
189
228
186
186