Check out my new installtion document:
I removed the sections about gocode and GDB. These are not necessary any longer. I also added links for more editors.
This is a great post by Wade Wegner for installing Go on your Windows Machine:
Mac OS X
The following instructions will guide you through installing Go on your Mac.
Step 1: Download Go
This will show you all the latest builds for the different operating systems. Darwin is the name for the Mac OS. Download the installer package for your OS version and architecture.
Once downloaded go to your Downloads folder in Finder and double click on the pkg file to start the installation. The installation will put Go in /usr/local/go. Once the installation is complete you will want to check the installation.
Note: Moving forward we will be using both Terminal and Finder. It helps to be able to see all the files in Finder. Finder by default will not show you everything that is on your hard drive.
To show all files in Finder:
Open a Terminal session. If you don’t know where the Terminal program is go to your Applications folder in Finder and then Utilities. Click on Terminal and a bash shell command window will open.
Execute the following commands in Terminal.
The killall Finder will reload the Finder program and now you can see all the files.
Open a Terminal session and type the following command
Step 2: Check Installation
You should see the following if everything installed correctly
Now type the which command to verify the installation is in /usr/local/go
You should see that Go can be found in /usr/local/go/bin
You need a single place to store and work on your Go projects. Create a folder called projects from inside your home folder:
Step 3: Set Your GOPATH
Now set projects as your GOPATH. Open the .bash_profile file from the $HOME folder and add the following items to the end.
Then exit the Terminal App and open a new Terminal App. Check that the Go environment now has your new GOPATH.
You should see all the Go related environment variables including GOPATH. Here are some of them:
These are Go packages you may want:
Step 4: Get, Build and Install Basic Packages
go get github.com/nsf/gocode
// goimports is something you should run when saving code to fill in import paths
go get golang.org/x/tools/cmd/goimports
// gorename is used by many editors to provide identifier rename support
go get golang.org/x/tools/cmd/gorename
// oracle is a tool that help with code navigation and search
go get golang.org/x/tools/cmd/oracle
// golint should be run after every build to check your code
go get github.com/golang/lint/golint
Using GDB is really not an option. If you would like to experiment with Delve, here is a link:
Step 5: Debugger
Step 6: Install Editor
DisposaBoy wrote this plugin for Sublime
Mark Wolfe wrote this post:
Victor Farazdagi wrote this post on installing Vim for Go:
Joe Fitzgerald wrote this plugin for Atom
This is the configuration Guillaume Charmes uses:
Here are other links to web pages that will be very helpful:
You must watch these videos on Go Concurrency Patterns
Ultimate Go Programming LiveLessons
Ultimate Go Programming LiveLessons provides an intensive, comprehensive, and idiomatic view of the Go programming language. This course focuses on both the specification and implementation of the language, including topics ranging from language syntax, design, and guidelines to concurrency, testing, and profiling. This class is perfect for anyone who wants a jump-start in learning Go or wants a more thorough understanding of the language and its internals.Learn more
We have taught Go to thousands of developers all around the world since 2014. There is no other company that has been doing it longer and our material has proven to help jump start developers 6 to 12 months ahead of their knowledge of Go. We know what knowledge developers need in order to be productive and efficient when writing software in Go.
Our Go, Web and Data Science classes are perfect for both experienced and beginning engineers. We start every class from the beginning and get very detailed about the internals, mechanics, specification, guidelines, best practices and design philosophies. We cover a lot about "if performance matters" with a focus on mechanical sympathy, data oriented design, decoupling and writing production software.
To learn about Corporate training events, options and special pricing please contact: