如何实现支持长尾词变参数的多态求和函数?

2026-04-02 13:441阅读0评论SEO资源
  • 内容介绍
  • 相关推荐

本文共计130个文字,预计阅读时间需要1分钟。

如何实现支持长尾词变参数的多态求和函数?

如何实现Add2功能?将sum作为接口好像无法满足需求?

求问下面的Add2这里怎么实现?sum为interface好像没法任意求和?

求问下面的Add2这里怎么实现?sum为interface好像没法任意求和?

如何实现支持长尾词变参数的多态求和函数?

123456789101112131415161718192021222324252627282930313233343536func Add(vars ... int)(ret int){    var sum int    for _,v := range vars {        //fmt.Println("v",v)        sum += v    }    return sum}//这里怎么实现?sum为interface好像没法任意求和?func Add2(vars ... interface{})(ret interface{}){    /* var sum interface{}    for _,v := range vars {        switch v.(type){            case int:            sum += v            case float64:            sum += v            case string:            sum += v        }    } */    return sum}func main() {    fmt.Println(Add2(1,2))    fmt.Println(Add2(1,2,3))    fmt.Println(Add2(2.4, 3.6, 1.0))    fmt.Println(Add2("Hello", "world", "zhong"))}

   

本文共计130个文字,预计阅读时间需要1分钟。

如何实现支持长尾词变参数的多态求和函数?

如何实现Add2功能?将sum作为接口好像无法满足需求?

求问下面的Add2这里怎么实现?sum为interface好像没法任意求和?

求问下面的Add2这里怎么实现?sum为interface好像没法任意求和?

如何实现支持长尾词变参数的多态求和函数?

123456789101112131415161718192021222324252627282930313233343536func Add(vars ... int)(ret int){    var sum int    for _,v := range vars {        //fmt.Println("v",v)        sum += v    }    return sum}//这里怎么实现?sum为interface好像没法任意求和?func Add2(vars ... interface{})(ret interface{}){    /* var sum interface{}    for _,v := range vars {        switch v.(type){            case int:            sum += v            case float64:            sum += v            case string:            sum += v        }    } */    return sum}func main() {    fmt.Println(Add2(1,2))    fmt.Println(Add2(1,2,3))    fmt.Println(Add2(2.4, 3.6, 1.0))    fmt.Println(Add2("Hello", "world", "zhong"))}