如何从其他函数解析切片

我有以下 Go 代码段。我有一片


package main


import "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 中实现它的正确方法是什么?


函数式编程
浏览 140回答 1
1回答

慕森王

这是更正后的代码...package mainimport "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)输出:
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go