我正在try 使用围棋中的一个简单的Hello, World应用程序:

package main

import (
    "fmt"
)

func main() {
    fmt.Println("Hello World!")
}

但是,当我构建并运行它时,我得到以下错误:

main.go:5:2: cannot find package "fmt" in any of:
    /home/user/go/src/pkg/fmt (from $GOROOT)
    /home/user/gocode/src/fmt (from $GOPATH)
package test_program
    imports runtime: cannot find package "runtime" in any of:
    /home/user/go/src/pkg/runtime (from $GOROOT)
    /home/user/gocode/src/runtime (from $GOPATH)

下面是go env的输出:

GOARCH="amd64"
GOBIN=""
GOCHAR="6"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/user/gocode"
GORACE=""
GOROOT="/home/user/go"
GOTOOLDIR="/home/user/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread"
CGO_ENABLED="1"

推荐答案

Unset GOROOT-go工具知道它们应该在哪里,你几乎不需要设置它.

您已经将其设置为/home/user/go,除非您在其中构建go,否则不太可能是找到FMT包的正确位置.

Go相关问答推荐

Golang测试容器,无法使网络正常工作

如何在GoFr中为生产和本地环境设置不同的配置?

在GO中创建[]字符串类型的变量

Wamtime Memory中的‘Offset’是什么?Read?

如何使用gopher-lua定义一个Lua函数,该函数有一个预定义的表作为param,Lua脚本可以在其中访问该函数中的表?

从MySQL/GO表获取行数据

GORM:一个表的两个外键

如何模拟go的Elastic search SDK?

如何使用 AWS sdk 在 Go 中正确解组 PartiQL 查询的结果?

通过 Terraform 中的 MapNestedAtribute 进行迭代

使用 Golang 获取目录磁盘使用情况

有没有办法在 Golang 中使用带有 go-simple-mail lib 的代理?

更改多对多连接表的名称

获取 nil 指针类型的 reflect.Value

go version -m 输出中的箭头符号=>是什么意思?

emersion/go-imap - imap.FetchRFC822:无效内存地址或零指针取消引用

如何模仿联合类型

Golang Getrlimit 返回与 ulimit 不同的值

从 map 返回空数组而不是空字符串数组

带有 *s3.S3 对象的 Golang 单元测试