有没有办法从 dart 中的 Map 获取默认值(如 Java):
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
Run Code Online (Sandbox Code Playgroud)
Ale*_*uin 19
如果您的地图不包含空值,您可以使用if null 运算符:
var map = {
'a': 1,
'b': 2,
};
var cValue = map['c'] ?? 3;
Run Code Online (Sandbox Code Playgroud)
或者,您可以定义自己的扩展方法:
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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4162 次 |
| 最近记录: |