Golang cannot find package "fmt" in any of

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)

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.