有没有办法将[]字节切换转换为io.Reader?

时间:2014-08-26 01:37:17

标签: io go byte


我刚开始使用go并且想知道,是否可以将[]字节切片转换为io.Reader。如ioutil.ReadAll所示,可以使用其他方式 如果没有,可以使用code.google.com/p/go.net/html.Tokenizer以某种方式使用字节切片吗?

2 个答案:

答案 0 :(得分:9)

是:bytes.NewBuffer

io.Reader示例:

http://play.golang.org/p/P0VbE8UFpC

package main

import (
    "bytes"
    "encoding/base64"
    "io"
    "os"
)

func main() {
    // A Buffer can turn a string or a []byte into an io.Reader.
    buf := bytes.NewBuffer([]byte("R29waGVycyBydWxlIQ=="))
    dec := base64.NewDecoder(base64.StdEncoding, buf)
    io.Copy(os.Stdout, dec)
}

答案 1 :(得分:4)

您可以在bytes包中使用NewReader:

in := bytes.NewReader(b []byte)

https://golang.org/pkg/bytes/#NewReader