如何在静态上下文中初始化结构的字段?

时间:2017-08-06 16:30:16

标签: static rust field

我需要一个"默认",事实上是一个空结构,我将作为默认值返回。由于它是只读的,我不想通过创建N次来污染内存,而是只返回一次

#[derive(Debug,PartialEq)]
pub struct Vocabulary {
    literal_names:  Vec<String>,
    symbolic_names: Vec<String>,
    display_names:  Vec<String>,
    max_toke_type:  usize,
}

static EMPTY_VOCABULARY:Vocabulary = Vocabulary{
    literal_names:  Vec::new(),
    symbolic_names: Vec::new(),
    display_names:  Vec::new(),
    max_toke_type:  0 ,
};

考虑到静态上下文中不允许函数调用,这会失败。那我怎么能初始化这些字段呢?

0 个答案:

没有答案