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

Reply via email to