And*_*aev 7 struct private rust
我有一个小项目,我想封装一个struct的字段并使用已实现的方法.
??? src
??? main.rs
??? predator
??? prey
??? cycle.rs
??? mod.rs
Run Code Online (Sandbox Code Playgroud)
cycle.rs
struct Prey {
name: String,
}
impl Prey {
pub fn new(n: String) -> Prey {
Prey { name: n }
}
pub fn get_name(&self) -> &str {
self.name.as_str()
}
}
Run Code Online (Sandbox Code Playgroud)
我想Prey私下离开.
main.rs
use prey::cycle::Prey;
mod prey;
fn main() {
let pr = Prey::new("Hamster".to_string());
println!("Hello, world! {}", pr.get_name());
}
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
error: struct `Prey` is private
Run Code Online (Sandbox Code Playgroud)
我知道,如果我pub以前struct Prey {},我会得到预期的结果.我将很感激解释,如何,为什么不和/或最佳实践.
| 归档时间: |
|
| 查看次数: |
4205 次 |
| 最近记录: |