Dart:从 class 创建实例(区别)
Dart: create instance from a class (difference)
基于这个简单的 class:
class User { String? name; int? id; }
我不确定:
变种用户=用户();
要么:
用户 user = User();
如果有人能阐明这一点,我会非常高兴。
在这种情况下没有实际区别。当您使用 var
关键字时,类型将由编译器推断,而将其声明为 User
只是一种显式定义类型的方法。
在某些情况下它会有所不同,例如在实例化泛型类型时,如 List
.
如果您键入:
var list = [1, 2, 3];
那么list
的类型就是List<int>
。但是您可能想要一个 double
的列表。在那种情况下,你可以写:
List<double> list = [1, 2, 3];
你会确信 list
会有你想要的类型(当然在这种情况下你也可以简单地写 var list = [1.0, 2.0, 3.0]
)。
它在实例化空列表时也很有用,因为在这种情况下,列表中没有值可供编译器推断类型。
基于这个简单的 class:
class User { String? name; int? id; }
我不确定:
变种用户=用户();
要么:
用户 user = User();
如果有人能阐明这一点,我会非常高兴。
在这种情况下没有实际区别。当您使用 var
关键字时,类型将由编译器推断,而将其声明为 User
只是一种显式定义类型的方法。
在某些情况下它会有所不同,例如在实例化泛型类型时,如 List
.
如果您键入:
var list = [1, 2, 3];
那么list
的类型就是List<int>
。但是您可能想要一个 double
的列表。在那种情况下,你可以写:
List<double> list = [1, 2, 3];
你会确信 list
会有你想要的类型(当然在这种情况下你也可以简单地写 var list = [1.0, 2.0, 3.0]
)。
它在实例化空列表时也很有用,因为在这种情况下,列表中没有值可供编译器推断类型。