是由于在Rust编程语言中,结构体的字段默认是私有的,只能在结构体内部访问。当我们使用pub关键字将结构体标记为公共时,结构体本身可以被其他模块访问,但结构体的字段仍然是私有的,无法从外部访问。
要解决这个错误,有两种方法:
pub struct MyStruct {
pub field: i32,
private_field: i32,
}
在上面的例子中,field字段被标记为pub,可以从其他模块访问,而private_field字段仍然是私有的。
pub struct MyStruct {
private_field: i32,
}
impl MyStruct {
pub fn get_private_field(&self) -> i32 {
self.private_field
}
pub fn set_private_field(&mut self, value: i32) {
self.private_field = value;
}
}
在上面的例子中,通过get_private_field方法获取private_field的值,通过set_private_field方法设置private_field的值。
推荐的腾讯云相关产品:腾讯云服务器(CVM)和腾讯云函数(SCF)。
领取专属 10元无门槛券
手把手带您无忧上云