我需要将多个不同大小的 u8 数组连接在一起,为区块链相关的东西创建一个块头,我尝试了 concat 方法,但只有在所有数组长度相同的情况下才有效。
pub struct Block{
pub prev_block_hash: [u8;32],
pub timestamp : [u8;8],
pub difficuly : [u8;4],
pub block_height : [u8;4],
pub nonce: [u8;4],
pub version : [u8;4]
}
pub fn create_header(&self) -> [u8 ; 56]{
let buffer :[ u8 ; 56] = [0;56];
let buffer_as_vec = [self.version, self.prev_block_hash,self.timestamp,self.difficuly,self.block_height,self.nonce].concat();
buffer_as_vec.try_into().expect("Wrong size")
}
Run Code Online (Sandbox Code Playgroud)