如何将变量显式指定为动态类型?

时间:2014-01-19 11:10:41

标签: dart

dynamic x = 2;

这不编译。但是:

final int n = 6; /* and */
final y = "Hello world!"

都编译。

是否可以以及如何从类型dynamic明确声明变量?

2 个答案:

答案 0 :(得分:3)

可以将变量明确声明为类型dynamic。代码

dynamic x = 2;

编译并等同于代码

var x = 2;
声明变量时,

vardynamic的简写。省略类型注释等同于创建类型注释dynamic

vardynamic之间的区别在于var用于声明变量而不是类型;它不能是函数的返回类型(因为它不是声明变量),函数参数可以省略关键字var(声明f(x){}等同于声明f(dynamic x){}和{ {1}})。

您只需要在通用类的类型参数中明确使用f(var x){},其中至少有一个但不是所有类型参数都是dynamic,例如dynamic

答案 1 :(得分:1)

var x = 2;定义了一个没有显式类型的变量,它与dynamic相同。