在M3中删除了Strings.join - 什么是新语法?

Bri*_* Oh 6 dart

下面的代码不再适用于Dart M3,我找不到新语法.

有人可以建议吗?

#import('dart:uri');

String encodeMap(Map data) {
  return Strings.join(data.getKeys().map((k) {
    return "${encodeUriComponent(k)}=${encodeUriComponent(data[k])}";
  }), "&");
}
Run Code Online (Sandbox Code Playgroud)

Ale*_*uin 9

只需使用.join(separator)Iterable.

在你的情况下:

import 'dart:uri';

String encodeMap(Map data) {
  return data.keys.map((k) {
    return "${encodeUriComponent(k)}=${encodeUriComponent(data[k])}";
  }).join("&");
}
Run Code Online (Sandbox Code Playgroud)

突破性变化:字符串课程即将消失:

核心中的Strings类(注意尾随"s")正在消失.
如果您使用了Strings.join(stringIterable,separator),请将其替换为stringIterable.join(separator).
如果您使用了Strings.concatAll(stringIterable),请将其替换为stringIterable.join().