为什么地图中的lambda返回(),而不是i32?

时间:2018-09-22 17:37:31

标签: rust

let v: Vec<i32> = vec![1, 2, 3].into_iter().map(|x:i32| -> i32 {
    let res = x + 1;
    res;
}).rev().collect();

print!("{:?}", v)

我有此代码,并出现编译错误

--> src\main.rs:8:68
   |
8  |       let v: Vec<i32> = vec![1, 2, 3].into_iter().map(|x:i32| -> i32 {
   |  ____________________________________________________________________^
9  | |         let res = x + 1;
10 | |         res;
   | |            - help: consider removing this semicolon
11 | |     }).rev().collect();
   | |_____^ expected i32, found ()
   |
   = note: expected type `i32`
              found type `()`

我不明白,为什么找到类型() 它是如何工作的?为什么会这样?

0 个答案:

没有答案