Rust 惰性静态自定义结构实例
Rust lazy static custom struct instance
在 Rust 中,我试图声明一个自定义结构的静态实例。
因为默认情况下我无法分配除常量之外的其他值,我正在尝试使用 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("")
实例化。
在 Rust 中,我试图声明一个自定义结构的静态实例。
因为默认情况下我无法分配除常量之外的其他值,我正在尝试使用 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("")
实例化。