Pourquoi ajouter “()” après la fermeture du corps dans Golang?

Je suis en train de lire The Go Programming Language Specifications et je me trouve pas vraiment comprendre avec les "()" après la fermeture du corps:

Dans Function literals:

func(ch chan int) { ch <- ACK }(replyChan)`

Dans Defer statements's exemple:

//f returns 1
func f() (result int) {
    defer func() {
        result++
    }() //why and how?
    return 0
}

Je ne suis pas clair sur la raison d'ajouter & utilisation de "()" après la fermeture du corps, de l'espoir, quelqu'un peut expliquer cela clairement.

InformationsquelleAutor Reck Hou | 2013-04-15