tre*_*iff 7 primitive types rust
我一直在阅读The Rust Programming Language,但是我无法找到关于类型注释的最佳实践的明确答案,特别是对于原始类型.
例如,让编译器确定类型:
let v = true;
Run Code Online (Sandbox Code Playgroud)
或者,使用显式类型注释:
let v: bool = true;
Run Code Online (Sandbox Code Playgroud)
一般来说,我喜欢明确,但我不确定这是违反最佳做法还是首选风格.由于编译器不必推断类型,编译时间是否会得到改善?
反对最佳实践或首选风格
是的,我会说流行的风格是让类型推断尽可能多地发生。
由于编译器不必推断类型,编译时间会得到改善吗?
从技术上讲,是的,应该有一些小的节省,但在绝大多数情况下,这是无法衡量的。编译器已经必须弄清楚一切是什么类型以确保代码类型检查。
这里是 某些病理情况下,那里的消费指数时间,但在需要时可经常可以“固定”用一个单一的精心布置的类型。
一般来说,我喜欢明确
然后你做你需要做的。通常,在学习时,我们比我们需要的更加明确。一旦你熟悉了这门语言,你就会放弃训练轮。当有经验的 Rust 程序员查看您的代码时,请为很多旁白做好准备(“您知道,您不必将这种类型放在这里……”)。
我更喜欢在类型中不那么明确,因为我觉得程序的其余部分(主要是变量和函数名称)应该代表逻辑。在大多数情况下,我是否有 aBTreeMap或 a并不重要HashMap,但键值结构的概念是。