该函数makeEvenGenerator应该返回一个以顺序方式生成偶数的函数:
package main
import "fmt"
func makeEvenGenerator() func() uint {
i := uint(0)
return func() (ret uint) {
ret = i
i += 2
return
}
}func main() {
nextEven := makeEvenGenerator()
fmt.Println(nextEven()) // 0
fmt.Println(nextEven()) // 2
fmt.Println(nextEven()) // 4
}
当我运行它时,我收到错误syntax error: unexpected func, expecting semicolon or newline和Non-declaration statement outside function body.
该代码是从Caleb Doxsey 的An Introduction to Programming in Go 中逐字提取的。我不确定问题是什么。
大话西游666
忽然笑
相关分类