I consider Go's niche to be as a replacement for C or C++; see this thread. So yes, it's a general-purpose language. It's ideal for writing desktop system utilities and web services.
What Go has that Java doesn't, though, is the ability to compile to native code. So you don't have to worry about a runtime being installed on the target system; you just deploy the compiled executable and you're done!