问题描述
我想使用 IoUtil 从文件中读取。当我运行程序时,我收到消息“..\io\IoUtil\IoUtil.go:9:2:找不到包“。”在:C:\go\src\bytes”。我假设我没有 io/IoUtil 包。我尝试使用 go get IoUtil,但收到消息“..\io\IoUtil\IoUtil.go:9:2: package bytes is not in GOROOT (c:\go\src\bytes)”。我如何克服这个问题?我正在使用 Windows 命令提示符。
解决方法
我将您的代码复制到文件 sample.go
中,它对我来说编译没有问题:
package main
import (
"bufio"
"fmt"
"log"
"os"
)
func main() {
f,err := os.Open("test.txt")
if err != nil {
log.Fatal(err)
}
defer func() {
if err = f.Close(); err != nil {
log.Fatal(err)
}
}()
r := bufio.NewReader(f)
b := make([]byte,3)
for {
n,err := r.Read(b)
if err != nil {
fmt.Println("Error reading file:",err)
break
}
fmt.Println(string(b[0:n]))
}
}
$ go build sample.go
您的代码中有 func main()
的两个定义,但我不确定这是粘贴和剪切错误还是您的代码中确实存在重复。