闭包是匿名函数的一种特殊情况。闭包是匿名函数,可访问在函数主体外部定义的变量。
匿名函数访问在外部定义的变量。
package main
import "fmt"
func main() {
l := 20
b := 30
func() {
var area int
area = l * b
fmt.Println(area)
}()
}
函数体内每次循环的匿名函数访问变量。
package main
import "fmt"
func main() {
for i := 10.0; i < 100; i += 10.0 {
rad := func() float64 {
return i * 39.370
}()
fmt.Printf("%.2f Meter = %.2f Inch\n", i, rad)
}
}