Na netu existují dost zevrubné seznamy výhrad. Stačí do vyhledávače zadat něco ve smyslu "why go sucks".
Nicméně jestli Go neznáš, tak ti ty seznamy neřeknou to zásadní - praktické dopady těch někdy bizarních a tvrdohlavých designových rozhodnutí. To je totiž to, co uživatel pak vnímá nejbolestněji.
Jeden z praktických důsledků je třeba nekonečné psaní boilerplatu. Knihovní funkce, které člověk jinde považuje za naprostou samozřejmost (typu třeba filter, map, each, every, ...), prostě nejsou. A generika taky nejsou (teda doteď nebyly). Takže si je ani nemůžeš napsat a pořád dokola nahrazuješ tyhle funkce několika řádky s for loopem (viz např.
https://gobyexample.com/collection-functions). Když to už děláš po desáté, tak tě to fakt přestane bavit...
Jiný konkrétní příklad je praktická neexistence (protože nepoužitelnost) imutability. Přesnej opak Rustu...