run和方法都send需要一个self对象,并且该send函数还需要一个可变Packet引用:
struct Package {
id: u32,
}
impl Package {
fn new(id: u32) -> Package {
Package { id }
}
}
struct Manager {
packages: Vec<Package>,
}
impl Manager {
fn new() -> Manager {
Manager {
packages: vec![
Package::new(1),
Package::new(2),
Package::new(3),
Package::new(4),
],
}
}
fn run(&mut self) {
for package in self.packages.iter_mut() {
if package.id == 1 {
self.send(package);
}
println!("{}", package.id);
}
}
fn send(&self, package: &mut …Run Code Online (Sandbox Code Playgroud)