📜  带范围的 rust 填充向量 - Rust (1)

📅  最后修改于: 2023-12-03 15:25:30.778000             🧑  作者: Mango

带范围的 rust 填充向量

Rust 是一门现代且非常有效的系统编程语言,拥有完整的类型推导、所有权管理、高级模式匹配和一流的包管理器 Cargo。本文将介绍如何使用 Rust 中的向量(Vector)和带范围的范围循环(Range Loop)来填充向量。

向量(Vector)

向量是 Rust 中的一种动态数组,可支持存储任何类型的值。

声明和初始化向量

在 Rust 中,向量是在堆上分配的动态大小的数组,可以使用 Vec 结构体来声明和初始化。

let mut my_vec: Vec<i32> = Vec::new(); // 声明空的向量
let mut my_vec_2 = vec![1, 2, 3, 4]; // 通过使用 vec! 宏初始化向量
向量的基本操作

向量可以执行许多基本的操作,如添加和删除元素,以及按索引访问元素等。

let mut my_vec = vec![1, 2, 3, 4];

// 添加元素
my_vec.push(5);

// 删除元素
let removed_element = my_vec.remove(2);

// 按索引访问元素
let my_element = my_vec[0];
带范围的范围循环(Range Loop)

Rust 中的带范围的范围循环可用于遍历范围内的所有值,其中范围可以是数字、字符或布尔值。

遍历数字范围

可以使用 .. 运算符来创建范围,并在循环中遍历其内部的所有数字。

for n in 0..5 {
    println!("The number is: {}", n);
}

输出:

The number is: 0
The number is: 1
The number is: 2
The number is: 3
The number is: 4
遍历字符范围

可以使用 .. 运算符和字符来创建范围,并在循环中遍历其内部的所有字符。

for c in 'a'..'e' {
    println!("The character is: {}", c);
}

输出:

The character is: a
The character is: b
The character is: c
The character is: d
遍历布尔值

在 Rust 中,布尔值也是一种类型,可以使用带范围的范围循环来遍历 truefalse 两个值。

for b in [true, false].iter() {
    println!("The boolean value is: {}", b);
}

输出:

The boolean value is: true
The boolean value is: false
向量的填充

可以将范围循环与向量结合使用,从而填充向量中的值。

let mut my_vec = vec![];

// 使用循环遍历范围,并将每个值添加到向量中
for n in 0..5 {
    my_vec.push(n);
}
完整示例
fn main() {
    let mut my_vec = vec![];

    // 使用循环遍历范围,并将每个值添加到向量中
    for n in 0..5 {
        my_vec.push(n);
    }

    // 输出向量中的所有元素
    for elem in my_vec.iter() {
        println!("{}", elem);
    }
}

输出:

0
1
2
3
4
结论

在本文中,我们学习了如何使用 Rust 中的向量和带范围的范围循环来填充向量。向量是一个非常强大的数据结构,它提供了许多基本的操作,如添加和删除元素以及按索引访问元素。带范围的范围循环可用于遍历范围内的所有值,从而填充向量中的值。这些概念的结合可以帮助我们更轻松地编写 Rust 代码,并提高生产力。