< 返回版块

hulufei 发表于 2019-11-21 16:23

        fn collect_attrs(attrs: &[(&str, &str)]) -> HashMap<String, String> {
            attrs
                .iter()
                .map(|(a, b)| (a.to_string(), b.to_string()))
                .collect()
        }

to_stringto_owned 不是等价的吗?

评论区

写评论
作者 hulufei 2019-11-22 09:25

原来如此,学到了,谢谢

对以下内容的回复:

wllenyj 2019-11-21 21:02

.map(|(a, b)| (a.to_owned().to_owned(), b.to_owned().to_owned()))

light4 2019-11-21 18:55

把转换代码都去掉 (a, b), 你会发现 a/b 的类型是 &&str. &&str.to_owned() 类型为 &str &&str.to_string() 类型为 String, 原因是 ToString 会自动解引用.

Mike Tang 2019-11-21 18:35

提示什么

1 共 4 条评论, 1 页