The Go Programming Language Specifications
Function literals

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

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

I'm not clear about the reason to add & usage of "()" after closure body, hope someone can explain this clearly.