繁体   English   中英

如何在 dart 中打印 Map?

[英]How to print Map in dart?

我知道如何使用 foreach() 方法打印 map

var x = {1:'One',2:'Two',3:'Three',4:'Four',5:'Five'};
x.foreach((i,j){
print(i);
print(j);
});

并使用正常的 for 循环

打印 map 的其他方法?

也可以直接打印map:

void main() {
  var x = {1:'One',2:'Two',3:'Three',4:'Four',5:'Five'};
  print(x);
}

结果将非常整洁:

{1: One, 2: Two, 3: Three, 4: Four, 5: Five}

您将在此处找到mapToString的实现。

static String mapToString(Map<Object?, Object?> m) {
  // Reuses the list in IterableBase for detecting toString cycles.
  if (_isToStringVisiting(m)) {
    return '{...}';
  }
  var result = StringBuffer();
  try {
    _toStringVisiting.add(m);
    result.write('{');
    bool first = true;
    m.forEach((Object? k, Object? v) {
      if (!first) {
        result.write(', ');
      }
      first = false;
      result.write(k);
      result.write(': ');
      result.write(v);
    });
    result.write('}');
  } finally {
    assert(identical(_toStringVisiting.last, m));
    _toStringVisiting.removeLast();
  }

  return result.toString();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM