我是 Rust 新手,当使用split并分配给 var 时,会出现以下问题。
use std::io;
fn main() {
let mut prev_key: &str = "";
for line in io::stdin().lines(){
let s = line.unwrap();
let data: Vec<&str> = s.split("\t").collect::<Vec<_>>();
if prev_key.len() == 0 {
prev_key = data[0];
}
}
}
Run Code Online (Sandbox Code Playgroud)
错误是:
error[E0597]: s does not live long enough
--> src/reducer.rs:8:31
|
8 | let data: Vec<&str> = s.split("\t").collect::<Vec<_>>();
| ^^^^^^^^^^^^^ borrowed value does not live long enough
9 | if prev_key.len() == 0 {
| -------------- borrow later …Run Code Online (Sandbox Code Playgroud)