我想在一个函数中返回字符串或切片,我可以在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{}
}
错误:参数不足,无法返回
答案 0 :(得分:1)
如果定义两种返回类型,则始终需要返回这两种类型。您不能只返回一个。
看看这个:
func test(dataList []int) (string, []int) {
if dataList == nil {
return "this is string", []int{}
}
return "", []int{}
}
这将行得通,因为我在每种情况下(都按照定义的顺序)都返回了string
和[]int
。
也许您可以解释您的功能要完成的工作,我们可以就如何设计功能提供更好的建议。