我正在通过一个箱子hifijson来解析 JSON 源代码,我偶然发现了这一点:
fn skip_until(&mut self, stop: impl FnMut(u8) -> bool) {
use crate::Write;
self.write_until(&mut &[][..], stop) // <-
}
Run Code Online (Sandbox Code Playgroud)
您可以在此处查看完整的实施。
&[][..]我对上面标有注释的在线语法不太确定<-。虽然我认为它是将bytes字段作为struct SliceLexer此处的可变切片传递,但我之前从未在 Rust 文档或其他地方的任何地方见过这种语法。
有人可以解释它是如何工作的,并确认它是否只适用于这里,因为 struct 只有一个字段,它是借用的切片,并且该语法是否记录在某处?
[]是一个包含 0 个元素的数组文字,[..]使用范围进行索引,并&采用引用,因此&[][..]创建一个空切片引用,通常简称为切片。
self除了将其传递给 的方法之外,它没有以任何方式连接到self。
| 归档时间: |
|
| 查看次数: |
82 次 |
| 最近记录: |