Yes, it's because of automatic semicolon insertion. Semicolons are
automatically inserted at the end of a line in many situations,
including when the last token is a parenthesis. (See
http://golang.org/doc/go_spec.html#Semicolons)
The comma tells the compiler "don't insert a semicolon here; this
isn't the end of a statement."
- Evan
It's not just that. It also means that you can more easily re-order the lines of a literal without needing to worry about adding or removing commas. (As is the case with JavaScript, for example.)