He is a Java developer learning Golang and Gogland at the same time. He got puzzled that he couldn't invoke a function although the source code files were placed in the same directory and the function name Echo() starts with capital letter E - which makes it exportable.

Maybe his Java background still influencing how he codes.

Anyway, let's create a new project under Gogland and create two new files. First is the main.go and another is echo.go - which contain a function that we will invoke from main.go

Now, typically all the newly created .go files will be under the main project directory. You will need to place the files properly in order to make it work.

Below is an example screen shot of "wrong way" to place your source code files that most rookie will probably encounter:

The proper way is to create a new directory and place the file containing the functions inside the new directory. For example, create a HelloPackage directory and place the echo.go file in.

and make sure that the echo.go file first line is package HelloPackage instead of package HelloGogland

By Adam Ng

IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.