如何复制&[u8]
切片的内容?
我正在尝试编写一个函数,该函数将缓冲区作为输入,并使用给定的键对每个字节进行 XOR 并返回最终结果。
我不希望它破坏输入缓冲区。
pub fn xor_buffer(buffer_in: &[u8], key: char) -> &[u8] {
let mut buffer_out = buffer_in.clone();
for byte in &mut buffer_out[..] {
*byte ^= key as u8;
}
buffer_out
}
此代码生成以下编译时错误:
src/test.rs:29:22: 29:32 error: cannot borrow immutable borrowed content `*buffer_out` as mutable
src/test.rs:29 for byte in &mut buffer_out[..] {
^~~~~~~~~~
我知道我一定做错了什么。
任何帮助将不胜感激。