The Go programming language documentation makes a big deal about how it “reads from left to right.” Like, if you were describing the program in English, the elements of the Go program go in the same order as they would in English.
I say this as someone who likes Go as a language and writes more of it than any other language: I honestly don’t entirely follow. One example they give is how you specify a type that’s a “slice” (think “list” or “array” or whatever from other languages) of some other type. For instance a “slice of strings” would be written []string. The [] on the left means it’s a slice type. And string on the right specifies what it’s a slice of.
But does it really make less sense to say “a string slice”?
In Go, the type always comes after the variable name. A declaration might look like:
var a string
Similarly in function declarations:
funcbob(a string, b int, c float64) []string { ... }
Anyway, I guess all that to say I don’t mind the Go style, but I don’t fully understand the point of it being the way it is, and wouldn’t mind if it was the other way around either.
But does it really make less sense to say “a string slice”?
That’s an interesting point. You say “a pizza slice” or “a slice of pizza”, but you only say “a slice of bread”, not “a bread slice” (right? I’m not a native speaker).
The Go programming language documentation makes a big deal about how it “reads from left to right.” Like, if you were describing the program in English, the elements of the Go program go in the same order as they would in English.
I say this as someone who likes Go as a language and writes more of it than any other language: I honestly don’t entirely follow. One example they give is how you specify a type that’s a “slice” (think “list” or “array” or whatever from other languages) of some other type. For instance a “slice of strings” would be written
[]string
. The[]
on the left means it’s a slice type. Andstring
on the right specifies what it’s a slice of.But does it really make less sense to say “a string slice”?
In Go, the type always comes after the variable name. A declaration might look like:
var a string
Similarly in function declarations:
func bob(a string, b int, c float64) []string { ... }
Anyway, I guess all that to say I don’t mind the Go style, but I don’t fully understand the point of it being the way it is, and wouldn’t mind if it was the other way around either.
That’s an interesting point. You say “a pizza slice” or “a slice of pizza”, but you only say “a slice of bread”, not “a bread slice” (right? I’m not a native speaker).