rmoff's random ramblings
about talks

Learning Golang (some rough notes) - S01E00

Published Jun 25, 2020 by in Go, Golang, Learning at https://preview.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 is a Principal DevEx Engineer at Decodable. He likes writing about himself in the third person, eating good breakfasts, and drinking good beer.

Story logo

© 2024