The long & short of it is that the creators decided that these idioms convey the concepts the language uses better. I'm not familiar with Go's type system but string seems to imply that something is an array first and a container for strings second; someone who knows the language may be able to elaborate why that distinction is useful. Type on the right can be found everywhere from BASIC to Scala so as far as I know that's simply a case of drawing from conventions you're not familiar with.
There's an explanation in the official Go blog - blog.golang.org/gos-declaration-sy.... Basically they chose that syntax because it's easier to read.
var books string
reads as "declaring a var named books as an array of 5 strings"
That makes sense :)
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.