如题,学习教程的时候有如下一段代码:
let mut f = File::open("foo.txt").await?;
let mut buffer = [0; 10];
let n = f.read(&mut buffer[..]).await?;
我疑惑的是最后一行代码为什么要用 &mut buffer[..] ? 跟直接用 &mut buffer 有什么不同?谢谢。
如题,学习教程的时候有如下一段代码:
let mut f = File::open("foo.txt").await?;
let mut buffer = [0; 10];
let n = f.read(&mut buffer[..]).await?;
我疑惑的是最后一行代码为什么要用 &mut buffer[..] ? 跟直接用 &mut buffer 有什么不同?谢谢。
[0; 10]
是一个 array ,buffer[..]
是一个 slice 。他们是不同的类型,所以要用[..]
来转换一下。