&[&"dummy_table"]
在rust 中是 str 转 slice吗?
fn print_type_of<T>(_: &T) {
println!("{}", std::any::type_name::<T>())
}
fn main() {
println!("{:?}",&[&"hello world"]);
print_type_of(&[&"dummy_table"]);
}
// ["hello world"]
// [&&str; 1]
&[&"dummy_table"]
在rust 中是 str 转 slice吗?
fn print_type_of<T>(_: &T) {
println!("{}", std::any::type_name::<T>())
}
fn main() {
println!("{:?}",&[&"hello world"]);
print_type_of(&[&"dummy_table"]);
}
// ["hello world"]
// [&&str; 1]
7 回答5.3k 阅读
1 回答3.3k 阅读
2 回答838 阅读
1 回答884 阅读
如果是转 u8 slice 的话很简单,
let v: &[u8] = "hello".as_bytes();
至于你的这个,打印说的很清楚了,得到的是一个数组(array)的引用,数组长度为 1,成员类型为 str 的双重引用。
因为常量字串赋值给变量的时候就已经是一重引用,所以
&"hello"
是双重引用。然后把它放到了一个数组中,并对该数组再引用了一次,就是你得到的结果。