我收到关于没有足够参数返回的错误消息

时间:2019-01-31 07:13:25

标签: go

我想在一个函数中返回字符串或切片,我可以在php中使用。 但是,在Go中出现一些错误

package main

import "fmt"

func main() {
    // arr := []int {34, 23, 45, 56, 62, 45, 12, 96, 22}
    arr := []int{}

    fmt.Println(test(arr))
}

func test(dataList []int ) ( string ,  []int )  {
    if dataList == nil{
       return "this is string"
    }

    return []int{}
}

错误:参数不足,无法返回

1 个答案:

答案 0 :(得分:1)

如果定义两种返回类型,则始终需要返回这两种类型。您不能只返回一个。

看看这个:

func test(dataList []int) (string, []int) {
    if dataList == nil {
        return "this is string", []int{}
    }

    return "", []int{}
}

这将行得通,因为我在每种情况下(都按照定义的顺序)都返回了string[]int

也许您可以解释您的功能要完成的工作,我们可以就如何设计功能提供更好的建议。