, "baz"}
fmt.Println(strings.Join(s, ", "))
}
运行输出:
foo, bar, baz
strings.Join 只能将字符串切片连接成字符串,但对于其他类型的切片呢...事实上,标准库并没有针对每种类型的切片都给出一个实现,也没有使用反射给出一个通用的实现。既然没有那我们自己来实现一个吧。...2.使用反射实现
如果想要将任意类型的切片连接成字符串,可以使用反射(reflect)包来动态处理不同类型的切片,将元素转换为字符串,并连接成一个字符串。...{1, 2, 3}, ", ")
str.Join([]float64{1.1, 2.2, 3.3}, ", ")
str.Join([]bool{true, false, true}, ", ")
str.Join...("foo", ", ")
4.小结
对于字符串切片可以使用标准库 strings.Join 函数,对于其他任意类型的切片,利用 Golang 提供的反射能力,在运行时将切片元素转换为字符串并连接到一起