import(
"fmt"
)
func main(){
var a = []int32{1,2,3,4,5, 6}
fmt.Println(mix(0,1,2, a, nil))
}
func mix(i, j, k int, a []int32, result [][]int32) [][]int32 {
length := len(a)
if k <= length-1 {
result = append(result, []int32{a[i], a[j], a[k]})
k++
result = mix(i, j, k, a, result)
} else {
if j <= length - 2 {
j++
k = j + 1
result = mix(i, j, k, a, result)
} else {
if i <= length - 3 {
i++
j = i + 1
k = j + 1
result = mix(i, j, k, a, result)
}
}
}
return result
}
本文来自:开源中国博客
感谢作者:原来有一天
查看原文:golang slice N选3 组合