a lot of problems can solve by design patterns, but what for non-object-oriented languages problems? there are some OOP features in GoLang. you can see some implementation of these patterns. implemented patterns:
creational:
. builder
. factory
. singeleton
structural:
. adapter
. facade
behavioral:
. iterator
. observer