如何複製&[u8]
切片的內容?如何複製&[u8]切片?
我正在嘗試編寫一個函數,該函數將緩衝區作爲輸入並使用給定鍵對每個字節進行異或運算,然後返回最終結果。
我不希望它破壞輸入緩衝區。
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[..] {
^~~~~~~~~~
我知道我必須做一些錯誤。
任何幫助將會得到讚揚。