Summary

Completed

What a ride! We've come to the end of learning the fundamentals in Go, and you've been writing several programs to practice. Now you're equipped to continue your learning journey in Go and start writing more complex programs.

For several topics, like concurrency, we looked at basics and didn't go in depth. We suggest that you go deeper to understand how to write better code that's easy to change and that runs fast.

As you've seen, Go is idiomatic in certain things like concurrency, error handling, and the use of frameworks. There were times when you might have had to forget what you knew from other programming languages to understand why Go decides to implement things in a certain way. For instance, Go isn't an object-oriented programming (OOP) language, but many OOP features can be implemented in Go.

We recommend that you keep practicing by going back through the exercises you've done and extending them. Above all, don't make any assumptions, write a test case, and prove any hypotheses you might have about Go.