There are two ways that a system can get unworkably complex. The most obvious is to overengineer and introduce too many excessively complex abstractions. However, it is equally harmful to become dogmatically obsessed with using the most "straightforward" implementation when more sophisticated approaches would make things easier to understand.
I have not used Go, but what I have heard makes it seem like it is designed in a way that would encourage the second approach.
I have not used Go, but what I have heard makes it seem like it is designed in a way that would encourage the second approach.