Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Go failing - expected 'package', found 'EOF'

Tags:

package

go

eof

I've been having a hard time trying to execute a simple golang program in a virtual machine powered by vagrant. These are the relevant fields of my go env:

GOARCH="amd64"
GOPATH="/usr/local/src/go"
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"

This is the program I'm trying to execute ( located in /usr/local/src/go/program ):

package program

import (
    "fmt"
)

func main() {
    fmt.Print("Aloha")
}

This, the output that I get:

main.go:4:5:
/usr/local/go/src/fmt/doc.go:1:1: expected 'package', found 'EOF'
package runtime:
/usr/local/go/src/runtime/alg.go:1:1: expected 'package', found 'EOF'

Take into account that this is a completely fake program. The weird thing is that it totally works in a different environment. What am I missing here?

Thanks a lot!

like image 545
ThisIsErico Avatar asked Jun 29 '15 07:06

ThisIsErico


3 Answers

Using VS Code for GO, and faced the same issue. Saving the file 'Ctrl+S' on Windows fixed the issue.

Reference : Answered by Nico

like image 102
Code_Yoga Avatar answered Oct 27 '22 17:10

Code_Yoga


This usually happens when you have a file e.g. foo_test.go empty or without package declaration.

like image 31
Alessandro Resta Avatar answered Oct 27 '22 17:10

Alessandro Resta


Just save the file first and than run the cammand.it is working.

go run main.go

like image 24
Javed Avatar answered Oct 27 '22 16:10

Javed