admin管理员组

文章数量:1611934

前言

          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

本文标签: 区别RustlenCapacity