私は読ん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
}
クロージャー本体の後に「()」を追加して使用する理由がよくわかりません。誰かがこれを明確に説明してくれることを願っています。