donglin7979 2019-04-11 22:31
浏览 2836
已采纳

可变参数切片作为参数错误:无法初始化具有1个值的2个变量

Trying to combine multiple slices using variadic, I'm getting error: cannot initialize 2 variables with 1 value

How do I call this Combine function?

Here's the code:

func Combine(ss ...[]string) []string {
    mp := map[string]bool{}

    for _, s := range ss {
        for _, v := range s {
            if v != "" {
                if _, ok := mp[v]; !ok {
                    mp[v] = true
                }
            }
        }
    }

    combined := []string{}

    for v := range mp {
        combined = append(combined, v)
    }

    return combined
}



tests := []struct {
        caseName string
        s1       []string
        s2       []string
        want     []string
    }{
        {
            caseName: "Test combining 2 slices",
            s1:       []string{"a", "b", "c", "c", ""},
            s2:       []string{"a", "b", "z", "z", "", "y"},
            want:     []string{"a", "b", "c", "y", "z"},
        },
    }


actual, _ := Combine(test.s1, test.s2)
  • 写回答

1条回答 默认 最新

  • douxidao3524 2019-04-11 23:05
    关注

    Your variadic calling parameters format is fine.

    The error is due to your function Combine returning one item, not two:

    // actual, _ := Combine(test.s1, test.s2) // fails as only one item is returned
    
    actual := Combine(test.s1, test.s2)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 宇视监控服务器无法登录
  • ¥15 PADS Logic 原理图
  • ¥15 PADS Logic 图标
  • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
  • ¥15 DruidDataSource一直closing
  • ¥20 气象站点数据求取中~
  • ¥15 如何获取APP内弹出的网址链接
  • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
  • ¥50 STM32单片机传感器读取错误
  • ¥50 power BI 从Mysql服务器导入数据,但连接进去后显示表无数据