如果我們有一個可序列化元素的向量,如何序列化該向量?
特別是如果每??個序列化元素都是位元組陣列(如[u8; 56]),如何處理?
let mut byte_stream = data
.iter()
.map(|x| x.to_bytes())
.collect::<Vec<_>>()
此代碼段生成一個型別為 的變數Vec<[u8; 56]>。
為了傳輸資料,我打算使用std::io::write,但它需要一個 byte slice &[u8]。
uj5u.com熱心網友回復:
Vec您可以通過flatten()ing創建一個:
data.iter()
.map(|x| x.to_bytes())
.flatten()
.collect::<Vec<_>>()
但是如果你馬上想把它傳遞給一個作家,你不需要先收集它。您可以回圈遍歷迭代器并多次寫入。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/478924.html
