【发布时间】:2017-12-14 13:45:27
【问题描述】:
let s1 = String::from("hello world.");
let r1 = &s1;
let sl1 = &s1[..];
let sl2 = &r1[..];
let sl3 = r1[..];
println!("{}", sl3);
sl1和sl2有什么区别,为什么sl3无效? r1 不是已经引用了,为什么需要&?
【问题讨论】:
-
this question 的答案也会回答你的吗?
-
关于
sl1和sl2区别的问题,没有。两者都导致String被取消引用到一个切片,然后切片用一个范围进行索引。另见stackoverflow.com/q/28519997/279627