Gogland : Where to put source code files in package directory for rookie
Below is a simple guide for JetBrains Gogland IDE on how to add your own package and invoke the functions inside the package.
Wait?! Why write down this guide? Simply because one of my friends is having trouble doing so.
UPDATE:
As mentioned by dlsniper in the comment section below, there is a bit of inaccuracy regarding this post. Please see the follow up guide on the fix - https://socketloop.com/tutorials/gogland-single-file-versus-go-application-run-configurations
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
package HelloPackage
func Echo() string {
return "Hello Gogland"
}
Click Run
button and you should see the following output:
Hello Gogland
Process finished with exit code 0
Hope this helps and happy coding!
See also : Gogland : Single File versus Go Application Run Configurations
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.
Advertisement
Tutorials
+22.6k Golang : Calculate time different
+9.4k Golang : interface - when and where to use examples
+9.9k Golang : Random Rune generator
+26.5k Golang : Find files by extension
+12.3k Golang : Remove or trim extra comma from CSV
+16.2k Golang : Read integer from file into array
+5.5k Unix/Linux : How to test user agents blocked successfully ?
+35.8k Golang : Converting a negative number to positive number
+21.8k Golang : Match strings by wildcard patterns with filepath.Match() function
+30.2k Golang : Remove characters from string example
+5.5k Golang : Fix opencv.LoadHaarClassifierCascade The node does not represent a user object error
+10.7k Golang : Replace a parameter's value inside a configuration file example