作为前辈,我最近才刚刚开始学习围棋。这可能是我花了一些时间在上面的第 3 天。我已经处理这个错误几个小时了,但我不知道出了什么问题。package mainimport "fmt"func main () { nextFib := fibGenerator(); fmt.Println(nextFib()); fmt.Println(nextFib()); fmt.Println(nextFib()); fmt.Println(nextFib()); fmt.Println(nextFib());}func fibGenerator () uint { var ( n uint = 0 back1 uint = 1 back2 uint = 0 ) _computeFib := func () uint { if n == 0 { n++ return 0 } else if n == 1 { n++ return 1 } fib := 1back + 2back // throws compile time error on this line 2back = 1back 1back = n n++ return fib } return _computeFib}这是它抛出的错误:语法错误:意外名称,需要分号或换行符或}这可能很简单,但由于我对 Go 的了解有限,我无法理解它。任何帮助,将不胜感激。
2 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
撇开重构问题不谈,请记住,go 中的变量必须以字母开头,而不是数字开头。back1
andback2
是有效的 go 变量,但1back
and2back
不是。请参阅https://golang.org/ref/spec#Identifiers。
- 2 回答
- 0 关注
- 293 浏览
添加回答
举报
0/150
提交
取消