I have just found it through Reddit, "Some Trucs and Machins about Google Go",
by Narbel:
http://dept-info.labri.fr/~narbel/Lect/go-lecture.pdf
Few comments about the text.
----------------
In Go you can omit semicolons at the end of lines, so I presume it's not a
terrible thing for C-like languages:
package main
import " fmt " // formatted I/O.
func main() {
fmt.Printf ("Hello Hello\n")
}
----------------
In Go you can omit some () for example in "if":
if !*omitNewline {
s += Newline
}
Generally I don't like to remove the parentheses of function calls (as done in
Ruby), but in this case of the 'if' syntax I think removing them helps remove
some useless visual noise from the code.
----------------
The multiple return values is the Go feature I'd like most for D3 (beside named
arguments):
func f(int i) (int, string) {
return (i+1) ("supergenial")
}
x, y := f(3);
----------------
Page 15-26 shows that there is polymorphism in Go too. Go designers are trying
to invent/adopt something simpler than C++-style templates.
----------------
Bye,
bearophile