如何将切片joinstring?

package main import ( "fmt" "strings" ) func main() { reg := [...]string {"a","b","c"} fmt.Println(strings.Join(reg,",")) } 

给我一个错误:

prog.go:10:不能使用reg(type [3] string)作为参数的types[] string到strings.Join

有没有比循环和添加到一个更直接/更好的方法?

你的问题的标题是:

golang,试图将一个切片join到一个string中

但实际上, reg 不是一个分片,而是一个三长的数组。 [...]string只是(在这种情况下) [3]string语法糖。

要得到一个实际的切片,你应该写:

 reg := []string {"a","b","c"} 

(试试看: http : //play.golang.org/p/vqU5VtDilJ 。)

使用一个切片,而不是一个arrray。 只需使用它来创build它

 reg := []string {"a","b","c"} 

另一种方法是在连接时将数组转换为片段:

 fmt.Println(strings.Join(reg[:],",")) 

阅读Go博客,了解切片和arrays之间的区别 。