美文网首页
Rust中的vector类型

Rust中的vector类型

作者: 万州客 | 来源:发表于2020-11-10 20:31 被阅读0次

    Rust 中 vector 指的是大多数语言中的 List 或者动态数组。

    2020-11-08 21_26_40-Beginning Rust.pdf - SumatraPDF.png

    vector VS 数组

    不同点

    vector是存储在堆上,数组存储在栈上
    vector的长度是动态增长的,数组一旦定义,其长度就不能再次更改了
    vector是标准库中用泛型实现的,数组是rust语言的原生内建类型

    相同点:

    ​存储多个相同类型的值,它们在内存中彼此相邻
    OS分配完内存之后默认都会标记这片内存只读不写[值不可变],如果想要修改元素值[内存可读可写],必须使用mut
    都只能在{}内部使用,不能再函数外面声明
    如果不覆盖的话,作用域均为从声明开始到下一个}结束。一旦离开作用域,它们的值和变量名均会被销毁
    在使用for in循环时,如果想要修改vector/array的元素,必须使用*解引用取出元素值才能修改
    代码

    fn main() {
        let mut x = vec!["This", "is", "a", "sentence"];
        x.insert(1, "line");
        x.insert(2, "contains");
        x.remove(3);
        x.push("about Rust");
        x.pop();
        for i in 0..x.len() { print!("{} ", x[i]);}
    }
    
    

    输出

    > Executing task: cargo run <
    
        Finished dev [unoptimized + debuginfo] target(s) in 0.00s
         Running `target\debug\hello_rust.exe`
    This line contains a sentence 
    Terminal will be reused by tasks, press any key to close it.
    

    相关文章

      网友评论

          本文标题:Rust中的vector类型

          本文链接:https://www.haomeiwen.com/subject/lfxsbktx.html