【发布时间】:2021-05-19 08:11:09
【问题描述】:
在 Swift 或 Kotlin 中我可以做这样的事情
var fullName = myMap["fullName"] as? String
那么 fullName 数据类型将是可选的 String ( String? )。
我需要在这样的类型检查之后获取可选类型
我不能直接对该映射执行空合并运算符,因为 dart 会给出奇怪的结果。比如这样
// 'data' is Map<String, dynamic>
final fullName = data["fullname"] ?? "John Doe";
final double myNumber = fullName;
如您所见,IDE 根本不会显示错误,我希望fullName 将是一个字符串,因此当我将一个需要双精度的字符串分配给myNumber 时会出现错误。
【问题讨论】:
-
你为什么不能只做
var name = myMap["fullName"] ?? "John Doe";? -
我在上面编辑我的问题:)
标签: dart