As per the Go's official FAQs, the reason that led to the thought to create a new language are:-

Computers are enormously quicker but software development is not faster.

Dependency management is a big part of software development today but the “header files” of languages in the C tradition are antithetical to clean dependency analysis—and fast compilation.

There is a growing rebellion against cumbersome type systems like those of Java and C++, pushing people towards dynamically typed languages such as Python and JavaScript.

Some fundamental concepts such as garbage collection and parallel computation are not well supported by popular systems languages.

The emergence of multicore computers has generated worry and confusion.

The advantages of a Go, again as mentioned in the Go's official FAQs are:-

It is possible to compile a large Go program in a few seconds on a single computer.

Go provides a model for software construction that makes dependency analysis easy and avoids much of the overhead of C-style include files and libraries.

Go's type system has no hierarchy, so no time is spent defining the relationships between types. Also, although Go has static types the language attempts to make types feel lighter weight than in typical OO languages.

Go is fully garbage-collected and provides fundamental support for concurrent execution and communication.

By its design, Go proposes an approach for the construction of system software on multicore machines.

I think that Python is easier to learn from Go because Python completely insulates you from memory management. OTOH Go's low-level facilities such as pointers make it possible to create more memory efficient programs than Python. I think that Go is much easier to learn than C, C++, or Java because the Go language is much smaller and more consistent. (And despite Go being a small language it has a really good standard library with far more real-world packages, i.e., for cryptography, web data handling, etc., than C++ provides.)

When starting a new project my default is to use Python 3. However, if speed, memory use, or concurrency are critical, Go is my choice.

I think that Python is easier to learn from Go because Python completely insulates you from memory management. OTOH Go's low-level facilities such as pointers make it possible to create more memory efficient programs than Python. I think that Go is much easier to learn than C, C++, or Java because the Go language is much smaller and more consistent. (And despite Go being a small language it has a really good standard library with far more real-world packages, i.e., for cryptography, web data handling, etc., than C++ provides.)

When starting a new project my default is to use Python 3. However, if speed, memory use, or concurrency are critical, Go is my choice.