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

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.

主站蜘蛛池模板: 武胜县| 安龙县| 贵港市| 合阳县| 肥乡县| 龙胜| 佛教| 怀远县| 竹北市| 赫章县| 东乡| 凤凰县| 灵川县| 利川市| 商都县| 平谷区| 凤山县| 农安县| 盘山县| 上思县| 高阳县| 财经| 邯郸市| 富蕴县| 绥滨县| 启东市| 大化| 勃利县| 长子县| 华阴市| 汉阴县| 康保县| 连城县| 平阳县| 连南| 肇庆市| 万盛区| 华坪县| 远安县| 江安县| 和静县|