从 RustRover 看 Rust 的“反向类型推导”
JetBrains 的 RustRover(Rust 语言 IDE),能在编辑时自动进行“类型推导”,并且把类型显示在可以帮助阅读的位置。你还可以在上面选择「Specify type explicitly」(显式声明类型),这样它会把推导出来的类型帮你写进代码里。
这似乎是一个好的功能,然而你想过没有,为什么 RustRover 缺省设置是显示出推导出来的类型?因为那样能直接看到类型的代码更易读,一目了然这个 hash map 里面是什么,而不需要到下面去找放进去的 key-value是什么,进行“人脑类型推导”。
所以为什么 Rust 语言要这么聪明,从下面的 scores.insert() 插入值的地方去“推导类型”呢?其实是没必要的。让程序员直接把类型写进变量声明的地方,就像 RustRover 显…


