下面的代码在 Dart M3 中不再有效,我找不到新语法是什么。
有人可以建议吗?
#import('dart:uri');
String encodeMap(Map data) {
return Strings.join(data.getKeys().map((k) {
return "${encodeUriComponent(k)}=${encodeUriComponent(data[k])}";
}), "&");
}
下面的代码在 Dart M3 中不再有效,我找不到新语法是什么。
有人可以建议吗?
#import('dart:uri');
String encodeMap(Map data) {
return Strings.join(data.getKeys().map((k) {
return "${encodeUriComponent(k)}=${encodeUriComponent(data[k])}";
}), "&");
}
只需.join(separator)
使用Iterable
.
在你的情况下:
import 'dart:uri';
String encodeMap(Map data) {
return data.keys.map((k) {
return "${encodeUriComponent(k)}=${encodeUriComponent(data[k])}";
}).join("&");
}
核心中的字符串类(注意尾随的“s”)正在消失。
如果您使用 Strings.join(stringIterable, separator) 将其替换为 stringIterable.join(separator)。
如果您使用 Strings.concatAll(stringIterable) 将其替换为 stringIterable.join()。