我正在穿过一个 crate hifijson
解析 JSON 源代码,我偶然发现了这一点:
fn skip_until(&mut self, stop: impl FnMut(u8) -> bool) {
use crate::Write;
self.write_until(&mut &[][..], stop) // <-
}
您可以查看完整的实现 here .
我对语法有点不确定 &[][..]
在标有注释的行 <-
多于。虽然我认为它正在通过 bytes
字段作为 struct
的可变切片SliceLexer
在这里,但我以前从未在 Rust 文档或其他地方的任何地方见过这种语法。
有人可以解释一下它是如何工作的,并确认它是否只适用于这里,因为 struct 只有一个字段,该字段是借用的切片,并且该语法是否记录在某处?
最佳答案
[]
是 0 个元素的数组文字,[..]
使用范围进行索引,&
接受引用,因此 &[][..]
创建一个空切片引用,通常简称为切片。
除了将其传递给 self
的方法之外,它没有以任何方式连接到 self
。
关于rust - `&[][..]` 在 Rust 中意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77163101/