【问题标题】:Dart convention for assigning doubles分配双打的 Dart 约定
【发布时间】:2021-11-12 18:08:03
【问题描述】:

dart 中是否有分配双打的约定?

我的意思是,一个指南说明了两者之间更喜欢哪种风格

double aDoubleValue = 200;

double aDoubleValue = 200.0;

This page 有一篇关于数字数据类型的文章,但没有任何约定/建议。

【问题讨论】:

  • FWIW,有一个prefer_int_literals lint(相反的立场没有对应的)。
  • 谢谢@jamesdlin,我一直在寻找类似的东西,但对于双打。我可以参考这个,同时建议双打也一样。

标签: flutter dart integer double conventions


【解决方案1】:

我不知道这个确切问题的风格指南,但如果你知道

var aDoubleValue = 200;

aDoubleValue 实际上是一个 int。所以风格上我会期待和喜欢

double aDoubleValue = 200.0;

【讨论】:

  • 感谢@jwehrle 的推荐。我了解这种风格的好处,但我正在寻找一个可以用来向其他开发人员传达相同内容的参考。 :)
【解决方案2】:

在 dart doc 中提到的编号

“在 Java 中,小数值的 float 和 double 类型最初被设计为在所有平台上都严格遵循 IEEE 754,但出于效率原因,这一限制几乎立即放松了(严格的一致性需要 strictfp)。”

如果您根据此链接遵循 IEEE 754,您会发现他们使用它就像

链接:https://csawesome.runestone.academy/runestone/books/published/csawesome/Unit1-Getting-Started/topic-1-3-variables.html

双 aDoubleValue = 200.0;

虽然它实际上是针对 java 的,但我也更喜欢这样声明 double。

【讨论】:

    【解决方案3】:

    您要查找的内容(如果存在)将在此处找到:Effective Dart。我将特别指出与类型推断有关的this 部分,以及说明类型推断为何有用的其他页面this

    我认为你的两个例子都不正确。您在声明时分配了一个文字浮点值。出于这个原因,使用var 和类型推断是最好的选择。这样做:

    var aDoubleValue = 200.0;
    

    代码将被正确推断为双精度数。 final 关键字可能更合适,具体取决于您的使用。当您可以看到行尾并看到 200.0 坐在那里时,写“double”这个词是没有意义的。

    【讨论】:

    • 在第二个(this)参考中,解释了类型推断,但我不明白为什么它比显式类型声明更有用。您能否添加更多解释,请回答(为什么推理比明确更好)?如果还有其他参考资料就好了。
    • 类型推断不应该比显式类型更有用;事实上,它应该具有完全相同的最终结果。使用vardouble 都会导致(var/double) myVar = 10.0 出现双倍。类型推断只是让代码更容易编写和阅读。查看here给出的具体示例代码。真的看看哪个样本更容易阅读。然后想象一下哪个更容易写。
    猜你喜欢
    • 1970-01-01
    • 2013-10-18
    • 2021-09-30
    • 2020-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多