Answer by Eric Talevich:
Go is a systems programming language. Google created it to safely solve three specific problems that C++ was biting them with: concurrency, memory management and compilation time on large systems. It's concise and readable, like Scala and Julia, but a bit fussy and low-level, unlike Julia. You would use it to write safe, well-performing services that your main application might call to. It would certainly be possible to write scientific software in Go, much as you would with C or C++, but it doesn't have the same flexibility and interactivity as, say, Python or Julia, or even Scala. If you're trying to use Go for data analysis, the fussiness and lack of interactivity will disappoint you.
Julia is a scientific applications programming language, designed to be a good replacement for Matlab and Python+SciPy. It's very new, so I won't attempt to predict which specific features it will or won't pick up, but the underlying motivations should drive it to be a very good programming language for scientific software — not syntactically optimized for statistical operations on data arrays like R, but good to write a computationally intensive program that uses multiple CPUs and generates pretty graphics.
Scala is a general-purpose language that sits between the other two, capable of dealing with either end of the spectrum. Twitter uses it for services. Scientists use it for aligning protein structures. It's a good language, a few years older than the other two, and is built on the JVM, which has its own pros and cons. If you want your code to be something other programmers can use and/or build on, Scala is your best choice at the moment — it creates .jar files which can be used directly from plain Java, whereas Go doesn't seem to be capable of creating reusable shared object (.so) files yet.