如果我在 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 语句中使用它们,但想知道是否有更直接的方法来做到这一点。我试过用谷歌搜索它,但似乎无法形成正确的问题。
1 回答
万千封印
TA贡献1891条经验 获得超3个赞
该规范非常清楚您的选择是什么(强调我的):
返回值或值可以显式地列在“return”语句中。
“return”语句中的表达式列表可能是对多值函数的一次调用。
如果函数的结果类型为其结果参数指定名称,则表达式列表可能为空。
- 1 回答
- 0 关注
- 83 浏览
添加回答
举报
0/150
提交
取消