Start by looking at my answer in
this thread; I'll build on that here.
Go is designed for simplicity. Part of that means making Go code easier to write with things like short variable declarations, automatic memory management (garbage collection), interfaces that can be defined without modifying any types, etc.
But another very big reason the Go creators aimed for simplicity is that it makes Go code very fast to compile and run. Even large projects can compile in seconds. And the resulting programs are really fast. Talking in very general terms, Go programs are about as fast as C or C++ programs, faster to start up than Java or .NET programs, and much, much faster overall than Ruby or Python programs.
Regarding limitations of Go, again refer to
this thread. There's basically nothing Go
can't do. Even there's no native Go library for a task, Go can bind to C/C++ libraries to do what you need. One example might be the
go-sdl2 library for game development.