mirror of
https://github.com/gopl-zh/gopl-zh.github.com.git
synced 2024-11-24 07:14:47 +00:00
commit
feac38bcf2
@ -13,7 +13,7 @@ strings.Map(func(r rune) rune { return r + 1 }, "HAL-9000")
|
|||||||
<u><i>gopl.io/ch5/squares</i></u>
|
<u><i>gopl.io/ch5/squares</i></u>
|
||||||
```Go
|
```Go
|
||||||
// squares返回一个匿名函数。
|
// squares返回一个匿名函数。
|
||||||
// 该匿名函数每次被调用时都会返回下一个数的平方。
|
// 该匿名函数每次被调用时都会返回下一个数的平方的函数
|
||||||
func squares() func() int {
|
func squares() func() int {
|
||||||
var x int
|
var x int
|
||||||
return func() int {
|
return func() int {
|
||||||
@ -23,10 +23,11 @@ func squares() func() int {
|
|||||||
}
|
}
|
||||||
func main() {
|
func main() {
|
||||||
f := squares()
|
f := squares()
|
||||||
fmt.Println(f()) // "1"
|
// () 函数调用符号
|
||||||
fmt.Println(f()) // "4"
|
fmt.Println(f()()) // "1"
|
||||||
fmt.Println(f()) // "9"
|
fmt.Println(f()()) // "4"
|
||||||
fmt.Println(f()) // "16"
|
fmt.Println(f()()) // "9"
|
||||||
|
fmt.Println(f()()) // "16"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user