Last week, I conduct a hands-on Go Language workshop as part of Mumbai Technology Meetup. The meetup was an interesting one where 3 language workshops were held during the day: Erlang, Go and Rust. I took the Go workshop.
I have been busy over the last few weeks in preparing a curriculum for Go Language course. This detailed course that I am planning is for 2 or 3-day hands-on course and I decided to use a stripped down version of that course in this workshop.
The total time of the workshop was 2.5 hours and we also decided to give a shot to hands-on as much as possible.
I prepared the following material (all of it is available on Github. Please use it , if you want)
- A Presentation Deck
- A hands-on deck that covers about 8-9 hands-on exercises
The deck covers the following areas in Go Language:
- An overview of Go, its history, its home page, tools, etc.
- Core Go Language Programming Constructs
- Object Oriented Constructs in Go
- Concurrency in Go
- REST API Servers in Go
- Writing Client Apps that invokes REST Services
- Some info on Unit Testing in Go and Go Documentation tools
In each of the sections, you will find notes, basic syntax, examples and a link to Go Playground for the running code. The presentation also has appropriate sections that tell you to refer to the hands-on exercises. Every single hands-on exercise is also accompanied with its solution to Go PlayGround. Here is a sample from the Go Maps section.
Here are a few things to note based on my experience:
- The topics are too many to cover in 2.5 hours. At best you should plan for 3 hours at the minimum and cover up to Concurrency in Go.
- The Go Playground is very essential to the success of the workshop. Since I have given the links to the Go Playground for each of the samples, it should make it easier.
- Hands-on can be attempted for some of the exercises but there is not enough time for all of them, unless you have more volunteers.
- Prior to the workshop, we had provided instructions to the participants to install Go on their machines. We also asked them to setup the Atom Editor. Instructions for setting up the Atom Editor are here.
Do let me know if you have any questions. All the best with your workshop.