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
| Name | Type | Description |
|---|---|---|
| capacity | usize | 要转换的字符串切片。 |
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 loopvec.push(value: T)将给定的字符串切片追加到此 String 的末尾。
Parameters
| Name | Type | Description |
|---|---|---|
| s2 | T | 要追加的字符串切片。 |
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
| Name | Type | Description |
|---|---|---|
| index | usize | Index 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
| Name | Type | Description |
|---|---|---|
| iter | impl 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]);