如何从Reader获取字符串?

时间:2013-09-03 17:27:33

标签: io go

strings模块中,有一个函数func NewReader(s string) *Reader可以从字符串中创建Reader

如何从strings.Reader获取/读取字符串?

2 个答案:

答案 0 :(得分:2)

您可以使用ioutil.ReadAll

bytes, err := ioutil.ReadAll(r)
// err management here
s := string(bytes)

答案 1 :(得分:0)

不确定这是否是您想要的:

package main

import (
    "fmt"
    "log"
    "strings"
)

func main() {
    s := "Hello world"
    r := strings.NewReader(s)
    buf := make([]byte, 100)
    i, err := r.Read(buf)
    if err != nil {
        log.Fatal(err)
    }
    fmt.Println("length string:", len(s))
    fmt.Println("bytes read:", i)
    fmt.Println(buf)
}

输出:

length string: 11
bytes read: 11
[72 101 108 108 111 32 119 111 114 108 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]