dongqi19827 2013-07-03 14:00
浏览 667
已采纳

GoLang:无法在多个分配中将[] byte分配给z(类型字符串)

I'm trying to find the contents of files within a folder, so I'm listing what's in the folder then while looping through it I'm trying to read the files.

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

The error I get is: test.go:85: cannot assign []byte to z (type string) in multiple assignment

Any help? (This is my first time coding in Go)

Thanks!

  • 写回答

1条回答 默认 最新

  • douyi6922 2013-07-03 14:04
    关注

    You can convert []byte to string, but you cannot convert one value of a multiple return valued function.

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

    However, quite often it's better to not convert binary data to strings and work directly with buf.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题
  • ¥15 人在外地出差,速帮一点点
  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改
  • ¥15 Windows 系统cmd后提示“加载用户设置时遇到错误”
  • ¥50 vue router 动态路由问题
  • ¥15 关于#.net#的问题:End Function
  • ¥15 无法import pycausal
  • ¥15 weditor无法连接模拟器Local server not started, start with?
  • ¥20 6-3 String类定义