我是 Dart 的新手,我可以看到 Dart 有num哪个是intand的超类double(并且只有这两个,因为子类化num到其他任何东西都是编译时错误)。
到目前为止,我看不到使用num代替intor 的任何好处double,是否有num更好甚至推荐的情况?还是只是为了避免考虑数字的类型,以便编译器为我们决定数字是 anint还是 a double?
Sae*_*bil 14
例如在 Dart 2.1 之前的一个好处:
假设您需要定义一个双变量,例如,
double x ;
Run Code Online (Sandbox Code Playgroud)
如果您将 x 定义为双精度值,则当您将其分配给它的值时,您必须指定它,例如 9.876。
x = 9.876;
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切都很好。
现在您需要为其分配一个值,例如 9
你不能这样编码
x = 9; //this will be error before dart 2.1
Run Code Online (Sandbox Code Playgroud)
所以你需要像这样编码
x = 9.0;
Run Code Online (Sandbox Code Playgroud)
但是如果你将 x 定义为 num
您可以使用
x = 9.0;
Run Code Online (Sandbox Code Playgroud)
和
x = 9;
Run Code Online (Sandbox Code Playgroud)
所以这是避免 dart 中整数和双精度类型之间的这些类型不匹配错误的便捷方法。
两者都是有效的。
这是 Dart 2.1 之前的情况,但仍然可以帮助解释这个概念
检查这可能是相关的
| 归档时间: |
|
| 查看次数: |
3569 次 |
| 最近记录: |