我有以下代码
func Sum(a []int) int {
res := 0
for _, n := range a {
res += n
}
return res
}
func SumAll(ns ...[]int) (sums []int) {
for _, s := range ns {
sums = append(sums, Sum(s))
}
return
}
//SumAllTails sums [:1] in each slice
func SumAllTails(sls ...[]int) []int {
newsls := [][]int{}
for _, sl := range sls {
newsls = append(newsls, sl[1:])
}
return SumAll(newsls...)
}
理想情况下,我想将最后一个函数更改为如下所示
func SumAllTails(sls ...[]int) []int {
return SumAll(sls[:][1:]...)
}
最后一位返回除第一个之外的每个切片,但我想做的是从位置 1 开始解压每个切片,省略 0 处的值。有没有办法在 go 中实现这一点?
冉冉说
相关分类