我有以下 Go 代码段。我有一片package mainimport "fmt"func main() { y := []int{0, 1, 1, 2, 3, 5, 8} return y}func toParseY(int y) { for i, v := range y { fmt.Println(i, v) }}我知道我必须将切片作为参数传递给 toParseY 函数,但是当我尝试它时,我得到了这个错误(编译器甚至没有得到# command-line-arguments./ude.go:8:2: too many arguments to return have ([]int) want ()./ude.go:11:19: undefined: y./ude.go:12:20: undefined: y在 Go 中实现它的正确方法是什么?
1 回答
![?](http://img1.sycdn.imooc.com/5458463b0001358f02200220-100-100.jpg)
慕森王
TA贡献1777条经验 获得超3个赞
这是更正后的代码...
package main
import "fmt"
func main() {
y := []int{0, 1, 1, 2, 3, 5, 8}
toParseY(y)
}
func toParseY(y []int) {
for i, v := range y {
fmt.Println(i, v)
}
}
问题:
不要从 main 返回 y。相反,从 main 调用 toParseY()。
您需要将 toParseY 接受的数据类型修复为 int 切片,并更正声明参数的顺序。它应该是参数名称,后跟数据类型:
toParseY(y []int)
输出:
- 1 回答
- 0 关注
- 100 浏览
添加回答
举报
0/150
提交
取消