I've started to work with golang and I came from PHP(a good language to work with OO). But i've some questions about the world of golang. We've some good practices that are available for reading in some articles, blog posts and the official page. But, what is the guideline/good practices to build maintainable applications as we have in the OOP world like DDD, CQRS, Event-Sourcing, SOLID and other concepts. I know that we don't need to forget all these things, but how we can change it to be adapted to golang paradigm and structs.
I've found some repos, but i'm not fully satisfacted: