首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dart映射中的默认值

dart映射中的默认值
EN

Stack Overflow用户
提问于 2020-01-14 14:57:05
回答 1查看 8.4K关注 0票数 16

是否有一种方法可以从dart中的Map获得默认值(如Java):

代码语言:javascript
复制
static Map DEFAULT_MAPPING = Map.unmodifiable({
    "k1": "value"
});

DEFAULT_MAPPING['k1'] //get 'value'

DEFAULT_MAPPING.getOrElse('non-present-key', 'default-value') //something like Java has
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-14 15:12:30

如果映射不包含空值,则可以使用If空运算符。

代码语言:javascript
复制
var map = {
  'a': 1,
  'b': 2,
};
var cValue = map['c'] ?? 3;

另外,您可以定义自己的扩展方法:

代码语言:javascript
复制
extension DefaultMap<K,V> on Map<K,V> {
  V getOrElse(K key, V defaultValue) {
    if (this.containsKey(key)) {
      return this[key];
    } else {
      return defaultValue;
    }
  }
}

var map = {
  'a': 1,
  'b': 2,
};
var cValue = map.getOrElse('c', 3);
票数 32
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59736337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档