在 Haskell 中,我不需要写任何东西来声明一个变量。在 C++ 中我需要编写auto
,据我所知,它的工作方式类似于 rust 的let
.
let
使用声明变量不是退一步吗?:let hi = "hi";
类型推断和赋值运算符应该足够了,或者不是吗?:
hi = "hi";
我只是问,因为在浏览 Rust 的教程时首先引起我注意的是let
' 无处不在。我觉得,我不应该需要打字!编译器已经知道我声明了一个变量!对于声明未初始化的变量,有人可能会争辩说用类型声明它们可能会很好。但同样,它是可选的,风格问题。编译器可以在第一次使用时推断出类型,如果不使用则不编译,因此无法推断出类型。
- 强迫用户写 let的理由是什么?特别是,反对让 let 可选的理由是什么?