4

我正在尝试在文件夹中查找文件的内容,因此我列出了文件夹中的内容,然后在循环浏览它时尝试读取文件。

files, _ := ioutil.ReadDir("documents/")
for _, f := range files {
        //fmt.Println(f.Name())

    z := "documents/" + f.Name()
    fmt.Println(z) // prints out 'documents/*doc name*' recursively
    z, err := ioutil.ReadFile(z) // This line throws up the error

我得到的错误是:test.go:85: cannot assign []byte to z (type string) in multiple assignment。

4

1 回答 1

6

您可以转换[]byte为字符串,但不能转换多返回值函数的一个值。

buf, err := ioutil.ReadFile(z)
if err != nil {
        log.Fatal(err)
}
z = string(buf)

但是,通常最好不要将二进制数据转换为字符串并直接使用buf.

于 2013-07-03T14:04:56.050 回答