如何在 Dart 中创建一个空集

Sur*_*gch 8 collections set dart flutter

我想为 Flutter 项目创建一个空集。

我试过这个,但我收到一个错误:

Set<String> mySet = [];
Run Code Online (Sandbox Code Playgroud)

错误:“List”类型的值不能分配给“Set”类型的变量。

我发现了一个关于列表老问题,但它不适用于集合。

Sur*_*gch 19

您可以通过多种不同的方式创建一个空 Set。对于局部变量,使用集合文字:

var mySet = <String>{};
Run Code Online (Sandbox Code Playgroud)

对于非局部变量,您可以使用类型注释形式:

Set<String> mySet = {};
Run Code Online (Sandbox Code Playgroud)

笔记

  • @Ivo,确实如此。就语言而言,两者都是允许的。我上面所说的只是(我相信)Effective Dart 指南所提倡的编码约定。(参见 https://dart.dev/guides/language/ effective-dart/design#types)。不过,自从我彻底阅读这篇文章以来已经有一段时间了,我可能一开始就错了,所以如果我误解了这些指南,请纠正我。即使我正确理解了这些指南,也可以随意忽略它们。 (2认同)