Skip to content

Rust std::vec::Vec API

Rust 的 String —— 一个可增长的、拥有的 UTF-8 编码字符串类型,堆分配且可变。

1 class · 8 methods

String

8 methods

一个 UTF-8 编码的可增长字符串。它是 &str 的拥有版本。

Vec::new() -> Vec<T>

创建一个新的空 String。

Returns

Vec<T>

Example

rust
let v: Vec<i32> = Vec::new();
assert!(v.is_empty());
Vec::with_capacity(capacity: usize) -> Vec<T>

将 &str 转换为 String,复制数据。

Parameters

NameTypeDescription
capacityusize要转换的字符串切片。

Returns

Vec<T>

Example

rust
let mut v: Vec<i32> = Vec::with_capacity(10);
for i in 0..10 {
    v.push(i);
}
// No reallocations happened during the loop
vec.push(value: T)

将给定的字符串切片追加到此 String 的末尾。

Parameters

NameTypeDescription
s2T要追加的字符串切片。

Returns

()

Example

rust
let mut v = vec![1, 2];
v.push(3);
assert_eq!(v, [1, 2, 3]);
vec.pop() -> Option<T>

将给定的 char 追加到此 String 的末尾。

Returns

Option<T>

Example

rust
let mut v = vec![1, 2, 3];
assert_eq!(v.pop(), Some(3));
assert_eq!(v, [1, 2]);
vec.len() -> usize

返回此 String 的字节长度,而非字符或字形数量。

Returns

usize

Example

rust
let v = vec![1, 2, 3];
assert_eq!(v.len(), 3);
vec.get(index: usize) -> Option<&T>

提取包含整个 String 的字符串切片。

Parameters

NameTypeDescription
indexusizeIndex of the element to retrieve.

Returns

Option<&T>

Example

rust
let v = vec![10, 20, 30];
assert_eq!(v.get(1), Some(&20));
assert_eq!(v.get(5), None);
vec.iter() -> Iter<T>

将模式的所有匹配项替换为另一个字符串,返回一个新的 String。

Returns

Iter<T>

Example

rust
let v = vec![1, 2, 3];
let sum: i32 = v.iter().sum();
assert_eq!(sum, 6);
vec.extend<I: IntoIterator<Item = T>>(iter: I)

Extends a collection with the contents of an iterator.

Parameters

NameTypeDescription
iterimpl IntoIterator<Item = T>Iterator whose items are appended.

Returns

()

Example

rust
let mut v = vec![1, 2];
v.extend([3, 4, 5]);
assert_eq!(v, [1, 2, 3, 4, 5]);