このエントリはRust その2 Advent Calendar 2016 - Qiita2日目の記事です。 Rustはシステムプログラミング言語なのでバイト列をあれこれしたいことがあると思います。その時にイテレータでバイト列を舐める以外にも色々方法があるなと気付いたので。 Read と Write 私には割と衝撃だったのですが&[u8]や&mut [u8]、Vec<u8>は直接ReadやWriteのインスタンスになってます。 例えばReadならこういう風に使えます。 let mut bytes: &[u8] = &[1, 2, 3, 4, 5, 6]; let mut buf = [0;3]; bytes.read_exact(&mut buf).unwrap(); println!("read: {:?}, rest: {:?}", buf, bytes); read: [1, 2, 3