fn main() { let ids= "abc".to_string(); loop { let result = get_ids(&ids); if result.len()==0{ break; } else { for id in result{ update_info(&id); result = get_ids(&id); // 写到这的时候思路混乱了。不知道怎么去递归调用了。 // 能否请问一下这里需要怎么操作的 } } } }
pub fn get_ids(id:&String)->Vec{ let mut s = Vec::new(); s.push(id.clone()); s.push("a".to_string()); s.push("b".to_string()); s.push("c".to_string()); s }
pub fn update_info(id:&String)->String{ return "update".to_string() }
1
共 3 条评论, 1 页
评论区
写评论带上markdown吧,看得清晰一点
先描述你要做什么, 你这代码完全看不出来目的是啥, 即使能运行也是死循环
fn factorial(n: i32) -> i32 { let mut product = 1; while let Some(x) = n.checked_sub(1) { product *= x; } return product; }
fn main() { println!("{}", factorial(5)); // 120 }