rmoff's random ramblings
about talks

Learning Golang (some rough notes) - S01E00

Published Jun 25, 2020 by in Go, Golang, Learning at https://rmoff.net/2020/06/25/learning-golang-some-rough-notes-s01e00/

My background is not a traditional CompSci one. I studied Music at university, and managed to wangle my way into IT through various means, ending up doing what I do now with no formal training in coding, and a grab-bag of hacky programming attempts on my CV. My weapons of choice have been BBC Basic, VBA, ASP, and more recently some very unpythonic-Python. It’s got me by, but I figured recently I’d like to learn something new, and several people pointed to Go as a good option.

I thought it would be interesting to write up some notes as I went, because blogging is how I remember things and have a record to refer to later :) There’s also some things that puzzled me (given my background in coding so far) that I struggled to find an answer to on Google, so maybe it might even help others.

Learning Go - where to start? 🔗

Pretty simple - https://tour.golang.org/ is really good for working through and building on concepts. I’m making myself do this since there’s a bunch that I probably wouldn’t understand if I tried to skip ahead and go and start looking at real code examples. I’m glad I’ve done this as it’s forcing me to work through things that I really don’t understand, like we’re about to see…

Other materials and resources 🔗

Resources 🔗

  • https://gobyexample.com/

  • Organizing Go code

  • JSON to Go

  • https://go-proverbs.github.io/

Online courses 🔗

I’ve not tried it but this course was recommended to me on Twitter, as was this one.


📺 More Episodes… 🔗

  • Kafka and Go

    • S02E00 - Kafka and Go

    • S02E01 - My First Kafka Go Producer

    • S02E02 - Adding error handling to the Producer

    • S02E03 - Kafka Go Consumer (Channel-based)

    • S02E04 - Kafka Go Consumer (Function-based)

    • S02E05 - Kafka Go AdminClient

    • S02E06 - Putting the Producer in a function and handling errors in a Go routine

    • S02E07 - Splitting Go code into separate source files and building a binary executable

    • S02E08 - Checking Kafka advertised.listeners with Go

    • S02E09 - Processing chunked responses before EOF is reached

  • Learning Go

    • S01E00 - Background

    • S01E01 - Pointers

    • S01E02 - Slices

    • S01E03 - Maps

    • S01E04 - Function Closures

    • S01E05 - Interfaces

    • S01E06 - Errors

    • S01E07 - Readers

    • S01E08 - Images

    • S01E09 - Concurrency (Channels, Goroutines)

    • S01E10 - Concurrency (Web Crawler)


Robin Moffatt

Robin Moffatt works on the DevRel team at Confluent. He likes writing about himself in the third person, eating good breakfasts, and drinking good beer.

Story logo

© 2025