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])。

它在实例化空列表时也很有用,因为在这种情况下,列表中没有值可供编译器推断类型。