package main
import "fmt"
func main() {
r := []int{}
/*for i := 0; i <= 10; i++ {
r = append(r, 1)
}*/
sz(10)
fmt.Println(r)
}
func sz(i int) {
if i == 0 {
r = append(r, 1)
} else {
sz(i - 1)
r = append(r, 1)
}
}
如上面的代码,我是实现往数据r[]里添加10个1,如果不使用sz(10)函数进行递归的话,就是使用注释的代码,是成功的,但使用递归的方法时会出现错误,怀疑是r作为全局变量存在问题,哪位给我分析下哦!
出错信息:
E:\go\project>go build szdg.go
# command-line-arguments
.\szdg.go:15: undefined: r
.\szdg.go:15: cannot assign to r
.\szdg.go:15: undefined: r
.\szdg.go:18: undefined: r
.\szdg.go:18: cannot assign to r
.\szdg.go:18: undefined: r
有疑问加站长微信联系(非本文作者)