有没有一种方法可以从for循环中返回一个值,然后将其实现为struct

时间:2019-06-25 02:39:18

标签: rust

我正在尝试在解析json之后搜索ID,并且这样做时,我希望能够从for循环中获取值并将其返回给变量,以便以后我可以实现为结构。我能够解析并找到ID,但是我一直试图从for循环中获取ID并能够在我的代码的其他部分中实现它。

ive尝试使用选项,方法是使用无(None)在循环外部定义变量,然后将其与Some()选项一起传递回该变量,以便稍后可以实现。

   pub productid:i64,
   pub  stid: i64,
    pub sizeid: i64,
}

 impl Allids{
    pub fn new(productid: Option<i64>, stid: Option<i64>, sizeid: Option<i64>) -> Allids{
       Allids {
           productid: productid,
           stid: stid,
           sizeid: sizeid,
       }
    }
     fn themall(&self) -> i64{
         format!("product id: {} style id: {} size id: {}", self.productid, self.stid, self.sizeid);
     }
}
//...
let styleid = None;
    for product in parser.styles {
        if product.name.contains("gold") {
            let styleid = Some(product.id);
            styleid;
            break;
        }
    };


 let ids: Allids = Allids::new(
     productid: i64,
     styleid: i64,
    sizeid: i64,
 );```

0 个答案:

没有答案