【发布时间】:2019-08-03 23:09:15
【问题描述】:
通常在 Rust 中,您不能在不获取局部变量引用的情况下将某事物的(子)切片分配给局部变量,因为 str 的大小未知:
let s = "hello";
let x = s[..]; // doesn't compile
let y = &s[..]; // ok
但是,我注意到您可以直接在切片上调用方法:
let x = s[..].to_owned(); // ok
let y = (&s[..]).to_owned(); // ok
这两种方式在语义和性能方面有什么区别吗?
【问题讨论】: