2
struct Foo(i32);
fn print_foo(xs: &[Foo]){
for i in xs{
println!("{}", i.0);
}
}
fn main() {
let xs = [Foo(1), Foo(2), Foo(3)];
// need do something in this line to conert xs to &[Foo]
print_foo(xs); // error: expected &[Foo] but found [Foo; 3]
}
變量xs
需要轉換爲&[Foo]
但搜索沒有給我正確的答案。如何將靜態數組轉換爲動態數組?
說一個切片是一個數組視圖是一個失實的陳述;這是對任何適合的內存塊的看法。這可能是一個數組(或其中的一部分),一個向量,一個字符串(只有'&[u8]',沒有其他類型的切片),*&c。* –
我認爲向量和字符串包含一個數組它不是一個固定大小的數組),所以從這個角度來看,聲明仍然是真實的。 –
「數組」是Rust中一個非常具體的術語:'[T; N]'。沒有其他的。 –