Rust中是否可以使用Struct参数?

时间:2019-06-16 15:42:30

标签: rust

对于4K块,我具有以下BlockData定义:

struct BlockData
{
  data: Vec<[u8; 4096]>,
  cursor: u64,
}

我想知道是否可以定义一个变量BlockData类型,该类型将块大小作为输入,例如内置数组类型。

还是我必须为每个块大小定义一个单独的结构?

宏可以使用吗?

更新:定义此类结构的宏。

macro_rules! struct_blockdata {
  ($name:ident, $size:expr) => {
    struct $name {
      data: Vec<[u8; $size]>,
      size: u64,
      cursor: u64,
    }
  };
}

struct_blockdata! (BlockData4096, 4096);

0 个答案:

没有答案