如何解决Rust懒惰的静态自定义结构实例
因为默认情况下,我无法分配除const值之外的其他值,所以我尝试使用lazy_static。
这是我的自定义结构:
pub struct MyStruct {
field1: String,field2: String,field3: u32
}
这是我尝试实例化的方式:
lazy_static! {
static ref LATEST_STATE: MyStruct = {
field1: "".to_string(),field2: "".to_string(),field3: 0
};
}
error: expected type,found `""``
我想念什么?
解决方法
尝试一下:
lazy_static! {
static ref LATEST_STATE: MyStruct = MyStruct {
// ^^^^^^^^
field1: "".to_string(),field2: "".to_string(),field3: 0
};
}
Lazy_static初始化与普通Rust相同。 let mystruct: MyStruct = { field: "",... };
无法编译。您需要在{}
之前输入类型名称,否则将其解释为代码块。
尝试使用"".to_string()
实例化而不是String::from("")
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。