我总是忘记如何在Dart中创建空 map .这不管用:

final myMap = Map<String, dynamic>{};

这没关系:

final myMap = Map<String, dynamic>();

但是我收到了一个警告,要求我在可能的情况下使用集合文字.

I'm adding my answer below so that it'll be here the next time I forget.

推荐答案

您可以使用映射文字创建空的Map:

{}

但是,如果类型未知,它将默认为Map<dynamic, dynamic>,这将 destruct 类型安全性.要指定局部变量的类型,可以执行以下操作:

final myMap = <String, int>{};

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

Map<String, int> myMap = {};

笔记:

Dart相关问答推荐

`异步内联方法`的这些定义之间有什么区别?

Const 构造函数不适用于 Dart 并显示 id 为 0

如何使用 dart 将 Uint8list 转换为 List

如何通过点击 BottomNavigationBarItem 以编程方式打开Drawer抽屉?

如何在 dart 中获取当前和调用函数的名称?

Flutter:Firebase 基本查询或基本搜索代码

在 Dart 中处理字节数组时,使用 Uint8List 优于 List 有什么优势?

Flutter-ExpansionTile 在点击时展开和折叠

为什么Dart中的 abs() 函数在没有用括号括起来时返回负数?

如何在 Flutter 的小部件树中将新的 MaterialPageRoute 作为子项打开

了解Dart private class

如何判断两张 map 的省道是否相等

如何为 macos 桌面应用启用 Flutter 上网权限?

找到两个数字中larger/smaller的方法是什么

Dart 中的多行字符串

你如何命名一个 Dart 类?

Dart 中的 Math.round() 在哪里?

在 Dart 中没有换行符的 print()?

如何在 Dart 中运行重复出现的函数?

如何在 Dart 中将 double 转换为 int?