请教关于数组[..]的问题?

如题,学习教程的时候有如下一段代码:

let mut f = File::open("foo.txt").await?;
let mut buffer = [0; 10];
let n = f.read(&mut buffer[..]).await?;

我疑惑的是最后一行代码为什么要用 &mut buffer[..] ? 跟直接用 &mut buffer 有什么不同?谢谢。

阅读 1.4k
1 个回答

[0; 10] 是一个 arraybuffer[..] 是一个 slice 。他们是不同的类型,所以要用 [..] 来转换一下。