eclipsemacosgoosx-mavericksgoclipse

Go not making binary using GoClipse


Installed GoClipse v0.80 into Eclipse Luna on OS X Mavericks...

Set the following values inside Eclipse's Preferences --> Go:

GOROOT: /usr/local/go GOPATH: /DevProjects/Go/GoHello (this has a src folder underneath it)

I created a Go project (along with new Go file) and put the following code inside src/Hello.go:

package src

import "fmt"

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

When I run Hello.go, inside the Eclipse Console this what appears:

************  Running Go build for project: GoHello  ************
************  Build terminated.  ************

How coming its not printing Hello to stdout?


Solution

  • You need package main:

    package main
    
    import "fmt"
    
    func main() {
         fmt.Println("Hello")
    }
    

    Output:

    Hello
    

    The Go Programming Language Specification

    Program execution

    A complete program is created by linking a single, unimported package called the main package with all the packages it imports, transitively. The main package must have package name main and declare a function main that takes no arguments and returns no value.

    func main() { … }
    

    Program execution begins by initializing the main package and then invoking the function main. When that function invocation returns, the program exits. It does not wait for other (non-main) goroutines to complete.