前言
len 和capacity 都是获取字符对象长度,那么两者有什么本质区别呢?废话不说,上代码测试。
代码测试
fn len_f(){
let mut story = String::new();
let mut len = story.len();
let mut capacity = story.capacity();
println!("{},{}", capacity , len );
for _ in 0..5 {
story.push_str("hello");
len = story.len();
capacity = story.capacity();
println!("{},{}", capacity , len );
}
}
console:
0,0
8,5
16,10
16,15
32,20
32,25
结论:
len() : 获取当前字符串对象的长度,随字符串变化而变化
capacity : 获取当前字符串对象容器的长度,初始化*2 ,默认长度是8