Rust 编程中的切片
Rust 中的切片是具有相同数据类型 T 的元素的集合,但与数组不同的是,它们的长度在编译时不必知道。
在 Rust 中,切片是一个双字对象,其中第一个字实际上是指向数据的指针,第二个字只是切片的长度。
切片比数组更安全,并且它们允许有效访问数组而无需复制。切片是从数组字符串创建的。它们可以是可变的,也可以不是。切片通常是指数组或字符串的切片。
示例
fn main() {let xs: [i32; 5] = [1, 2, 3, 4, 5];
let slice = &xs[1..5];
println!("first element of the slice: {}", slice[0]);
println!("the slice has {} elements", slice.len());
}
在上面的例子中,我们正在获取一个数组的切片,当我们对数组进行切片时,我们必须在 [] 括号内提供开始和结束索引,以指定我们想要在切片中的数组元素。
输出结果
first element of the slice: 2the slice has 4 elements
一段字符串
fn main() {let str= String::from("嘿图茨!!");
let hello = &str[0..5];
let hello=&str[..5];
println!("the hello contains {}", hello);
}
如果我们只想考虑从第一个元素切片,那么我们可以避免第一个整数,只需在 [] 括号内键入结束索引。
输出结果
the hello contains Hey T
示例
但是,如果我们想从一个索引切片到字符串的末尾,我们可以这样做。
fn main() {输出结果let str= String::from("嘿图茨!!");
let hello = &str[3..];
let hello=&str[3..];
println!("the hello contains {}", hello);
}
the hello contains Tuts!!
以上是 Rust 编程中的切片 的全部内容, 来源链接: utcz.com/z/331802.html