如果我在 Go 中有一个“内部”/嵌套函数:
findDups := func(groups []string) (int, string) {
dupCnt := 0
dups := ""
prevGroup := ""
for _, group := range groups {
if group == prevGroup {
dupCnt++
dups += group + ", "
}
prevGroup = group
}
return dupCnt, dups
}
语言中有没有一种方法可以让我从“外部”/父函数的返回语句中调用这个函数,例如:
return findDups(sourceGroups), findDups(targetGroups)
父函数的返回签名是 (int, string, int, string)。编译器抱怨以下消息:
2 值 findDups(sourceGroups) (类型的值 (int, string)),其中需要单个值
我可以通过创建四个变量来处理这个问题,这些变量来自对内部函数的两次调用的返回值,并在 return 语句中使用它们,但想知道是否有更直接的方法来做到这一点。我试过用谷歌搜索它,但似乎无法形成正确的问题。
万千封印
相关分类