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

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.

主站蜘蛛池模板: 韶关市| 定陶县| 黄陵县| 太和县| 宁安市| 满洲里市| 鄂托克旗| 射洪县| 龙岩市| 苗栗市| 九龙县| 沂水县| 祁东县| 菏泽市| 曲靖市| 睢宁县| 阳春市| 门头沟区| 松滋市| 巴里| 建昌县| 广安市| 太和县| 上林县| 海原县| 蛟河市| 松滋市| 孟州市| 彭山县| 白河县| 图木舒克市| 福贡县| 博湖县| 特克斯县| 江阴市| 临江市| 岢岚县| 柏乡县| 盐山县| 塔河县| 临猗县|