如果我在 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 關注
- 101 瀏覽
添加回答
舉報
0/150
提交
取消