donglv6747 2014-07-15 17:33
浏览 49

如何在golang中将字符串递归连接到类型为string的数组

I am struggling with this for quite some time. I basically want to create a function that recursively join a string to an array.

Like this :

join ", " ["one","two","three"] should look like this "one, two, three"

  • 写回答

2条回答 默认 最新

  • duandianwen1723 2014-07-15 17:56
    关注

    Something like this

    package main
    
    import (
        "fmt"
        "strings"
    )
    
    func flatJoin(sep string, args ...interface{}) string {
        values := make([]string, 0)
        for _, item := range args {
            switch v := item.(type) {
            case string:
                values = append(values, v)
    
            case []string:
                values = append(values, v...)
            case fmt.Stringer:
                values = append(values, v.String())
            default:
                values = append(values, fmt.Sprintf("%v", v))
            }
        }
    
        return strings.Join(values, sep)
    
    }
    
    func main() {
        fmt.Println(flatJoin(", ", "basic", "other", []string{"here", "more", "inner"}))
    }
    

    http://play.golang.org/p/yY6YnZZAak

    This supports only one level of flattening, but you can customize the recursion on your switch statement depending on what you are expecting.

    评论

报告相同问题?

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大