如何获取和安装 go 包 io/ioutil

问题描述

我想使用 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() 的两个定义,但我不确定这是粘贴和剪切错误还是您的代码中确实存在重复。