當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust Read.by_ref用法及代碼示例


本文簡要介紹rust語言中 std::io::Read.by_ref 的用法。

用法

fn by_ref(&mut self) -> &mut Self where    Self: Sized,

為此 Read 實例創建一個 “by reference” 適配器。

返回的適配器也實現了Read,並且會簡單地借用這個當前的閱讀器。

例子

File 實現 Read

use std::io;
use std::io::Read;
use std::fs::File;

fn main() -> io::Result<()> {
    let mut f = File::open("foo.txt")?;
    let mut buffer = Vec::new();
    let mut other_buffer = Vec::new();

    {
        let reference = f.by_ref();

        // read at most 5 bytes
        reference.take(5).read_to_end(&mut buffer)?;

    } // drop our &mut reference so we can use f again

    // original file still usable, read the rest
    f.read_to_end(&mut other_buffer)?;
    Ok(())
}

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 std::io::Read.by_ref。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。