Writing Your First Program with Go
Go is a compiled, statically typed programming language created by Google. If your into Ethereum and blockchain technology, like I am, then you might have an interest in Go to get a better handle on Geth software and launching nodes.
I won’t get into Geth nodes in this tutorial, but I will share my experience with installing Go for Mac OS to help others get started.
Step One: Visit GoLang.Org
To install Go, head over to golang.org, and download the package file. (Note: if you’re using an Ubuntu setup, you can install Go with the sudo apt command).
Then, open the package and follow the installer’s prompts.
This will automatically install Go to the /usr/local path.
Step Two: Make Sure Go Installed Properly
The quick way of checking whether you have go installed: open up a terminal window and type in “go version”.
Step Three: Create and Register Your First Go Workspace
To make a learning experience out of it, I went ahead and built a very simple “hello world” app, as recommended by the documentation, to see if Go installed properly. Here are the details:
- create a directory to store a workspace/quick sample application in the terminal. I made a directory called “go4swarmtutorial” on my Desktop (but you can name and put your workspace anywhere you’d like).
- from the home directory (~), point the GOPATH environment variable to your new workspace and transcribe directions to said workspace in a file called .bash_profile (the shell startup script).
You’ll notice the exported path below all that Python mumbo-jumbo:
Step Four: Refresh Terminal and Create File Structure
Next, we went to close out and reopen the terminal, so we can reap the rewards of a fresh new startup with everything installed, and build out a barebones file structure for the workspace:
- echo the $GOPATH variable to make sure it registered the right way
- navigate to the new workspace (for me, “cd Desktop”, then “cd go4swarmtutorial”)
- create four nested directories in this order:
(1) src
(2) github.com
(3) GithubUsername
(4) hello
It’s good practice to get into the habit of setting up your workspaces to push to github. I also like to have my favorite text editor, Sublime, open side-by-side with iTerm, so I can watch these folders generate in real time.
Step Five: Write the Hello World App
And with that last command — “touch hello.go” — we create a Go source file that gives us a main entry point and packaged logic to execute for this sample app (or say, if we wanted to import into a larger application):
Once we save our source code, we can compile our program by running the command “go run hello.go” and see our app in action:
There’s so much more to learn here, but this is a great entry point to get you excited! Documentation continues to abound on the web, and I will contribute with tutorials as I explore new areas of interest in the language.
Hope this helps (even if your using a different OS). If you have any questions, I’ll try to answer to the best of my abilities!