func(name string) {
fmt.Println("Your name is", name)
} (str) <- what's this?
其实,这就是在调用这个函数,等同于:
f := func(name string) {
fmt.Println("Your name is", name)
}
f(str)
例如,
package main
import (
"fmt"
)
func main() {
str := "Alice"
func(name string) {
fmt.Println("Your name is", name)
}(str)
}
运行结果:
Your name is Alice
又如:
package main
import (
"fmt"
)
func main() {
f := func(name string) {
fmt.Println("Your name is", name)
}
f(str)
}
运行结果一样的。
参考
https://stackoverflow.com/questions/16008604/why-add-after-closure-body-in-golang