官术网_书友最值得收藏!

Vectors

Vectors are like arrays, except that their content or length doesn't need to be known in advance and can grow on demand. They are allocated on the heap. They can be created by either calling the Vec::new constructor or by using the vec![] macro:

// vec.rs

fn main() {
let mut numbers_vec: Vec<u8> = Vec::new();
numbers_vec.push(1);
numbers_vec.push(2);

let mut vec_with_macro = vec![1];
vec_with_macro.push(2);
let _ = vec_with_macro.pop(); // value ignored with `_`

let message = if numbers_vec == vec_with_macro {
"They are equal"
} else {
"Nah! They look different to me"
};

println!("{} {:?} {:?}", message, numbers_vec, vec_with_macro);
}

In the preceding code, we created two vectors, numbers_vec and vec_with_macro, in different ways. We can push elements to our vector using push() method and can remove elements using pop(). There are more methods for you to explore if you go to their documentation page: https://doc.rust-lang.org/std/vec/struct.Vec.html . Vectors can also be iterated using the for loop syntax as they also implement the Iterator trait.

主站蜘蛛池模板: 渭南市| 柞水县| 牡丹江市| 衡阳市| 卢龙县| 隆林| 岑溪市| 南丰县| 定结县| 老河口市| 特克斯县| 鄂州市| 邵阳市| 平武县| 南平市| 翁源县| 略阳县| 洮南市| 宁德市| 安龙县| 酉阳| 敖汉旗| 郎溪县| 靖西县| 东城区| 承德县| 基隆市| 罗田县| 修水县| 铅山县| 威海市| 铁岭市| 永安市| 阿拉善右旗| 石棉县| 安岳县| 朝阳县| 永登县| 庆元县| 平利县| 岑溪市|