codecamp

向量

向量

一个‘向量’是一个动态的或者‘可增长的’数组,作为标准库类型 Vec<T>来实现。T 表示我们可以有任何类型的向量(更多信息,请参照泛型的章节)。向量总是在堆上分配它们的数据。你可以使用 vec! 宏来创建它们:

let v = vec![1, 2, 3, 4, 5]; // v: Vec<i32>

(注意,与在之前我们使用的 println! 宏不同,对于 vec! 宏我们使用方括号 []。Rust 允许您在两种情况下使用,这只是个约定。)

对于重复一个初始值,这里有 vec! 的另一种形式:

let v = vec![0; 10]; // ten zeroes

访问元素

若要获取在向量中的特定索引处的值,我们使用 []

let v = vec![1, 2, 3, 4, 5];

println!("The third element of v is {}", v[2]);

由于指数从 0 开始,所以第三个元素是 v[2]

循环访问

一旦你有了一个向量,你可以通过 for 来遍历它的元素。这里有三个版本:

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

for i in &v {
println!("A reference to {}", i);
}

for i in &mut v {
println!("A mutable reference to {}", i);
}

for i in v {
println!("Take ownership of the vector and its element {}", i);
}

向量有许多更有用的方法,你可以在它们的 API 文档中读到。

方法语法
字符串
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }