我一直在阅读The Rust Programming Language,但我一直无法找到关于类型注释的最佳做法的明确答案,特别是原始类型。
例如,让编译器确定类型:
let v = true;
或者,使用显式类型注释:
let v: bool = true;
总的来说,我喜欢明确,但我不确定这是违反最佳做法还是首选风格。由于编译器不必推断类型,编译时间是否会得到改善?
答案 0 :(得分:4)
反对最佳做法或首选风格
是的,我会说流行的风格是让类型推断尽可能发生。
由于编译器不必推断类型,编译时间是否会得到改善?
从技术上讲,是的,应该有一些小的节省,但在绝大多数情况下,它是不可测量的。编译器必须弄清楚一切是什么类型以确保代码类型检查。
some pathological cases,其中消耗了指数时间,但在需要时,通常可以使用单个放置好的类型“修复”。
一般来说,我喜欢明确
然后你做你需要做的事。通常,在学习时,我们比我们需要的更明确。一旦熟悉了这门语言,你就会放弃训练轮。当经验丰富的Rust程序员查看你的代码时,请为很多旁白做好准备(“你知道,你不必在这里放置这个类型......”)。
我更喜欢在 types 中不那么明确,因为我觉得程序的其余部分(主要是变量和函数名)应该代表逻辑。在大多数情况下,如果我有BTreeMap
或HashMap
,则无关紧要,但键值结构的概念是。