像这样的东西:
let source = [0u8; 40];
let a = source[0..11];
let b = source[11..40];
Run Code Online (Sandbox Code Playgroud)
fn main() {
let source = [0u8; 40];
let (a, b) = source.split_at(11);
println!("{}, {}", a.len(), b.len())
}
Run Code Online (Sandbox Code Playgroud)
还有如何操作 Rust 数组的 2 个可变切片split_at_mut
中讨论的内容。
在这种情况下,您还可以获取多个子切片,因为它是不可变的。这些可能是重叠的:
fn main() {
let source = [0u8; 40];
let a = &source[0..11];
let b = &source[11..40];
println!("{}, {}", a.len(), b.len())
}
Run Code Online (Sandbox Code Playgroud)
分成几份?
切片的要点是不进行复制。切片只是指向数据开头和长度的指针。数据本身是共享的。
我想制作“a”和“b”数组而不是切片
那么你应该查看 如何在 Rust 中将切片作为数组获取?