前进:找不到软件包“ fmt”错误

I'm trying to follow a simple Hello, World application in go:

package main

import (
    "fmt"
)

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

But when I build and run it, I get the following error:

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)

Here is the ouput of 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 - the go tools know where they are supposed to be and you rarely need to set it.

You've set it to /home/user/go and unless you build go in there that is unlikely to be the right place to find the fmt package.

Don't use apt-get for installing , just download the binaries and extract them to your home (or any) directory.

To get the go tool available in your terminal, you have to add the export PATH=$PATH:$GOROOT/bin line to your ~/.bashrc.