rust - len 和capacity 区别

前言

          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

猜你喜欢

转载自blog.csdn.net/qq_39308071/article/details/113243840