我通过阅读 Rust 应用程序的代码来学习 Rust,并且经常很难找到结构的特征方法实现。
例如,我有以下代码:
fn peek_u8(src: &mut Cursor<&[u8]>) -> Result<u8, Error> {
if !src.has_remaining() {
return Err(Error::Incomplete);
}
Ok(src.chunk()[0])
}
Run Code Online (Sandbox Code Playgroud)
我想知道Cursor的'has_remaining'和'chunk'方法的定义和起源在哪里。经过一些互联网研究,我发现它源自 'bytes::Buf' 特征。但是,我找不到“块”。
每次遇到这种情况,我都很难找到 struct 中如何有方法(哪个 Trait 实现了这些方法?)。有时它的时间成本非常高。
有什么建议可以给我吗?
您通常可以在您的库或应用程序的货物文档中找到此类信息。
如果您正在查看现有应用程序并且可以访问源代码,则可以使用Cargo doc生成文档。
在您的示例中,您可以转到光标并从那里导航或仅搜索函数名称。