如何将Slice加入String?

时间:2015-03-01 21:09:47

标签: join go slice

package main

import (
"fmt"
"strings"
)

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

给我一​​个错误:

  

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

是否有比循环和添加到var?

更直接/更好的方法

3 个答案:

答案 0 :(得分:99)

使用切片,而不是数组。只需使用

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

另一种方法是在加入时将数组转换为切片:

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

阅读the Go blog about the differences between slices and arrays

答案 1 :(得分:32)

你问题的标题是:

  

golang,尝试将切片连接到字符串

但事实上,reg 不是切片,而是长度为3的数组。 [...]string只是(在这种情况下)[3]string的语法糖。

要获得实际切片,您应该写:

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

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

答案 2 :(得分:18)

这仍然与2018年有关。

To String

import strings
stringFiles := strings.Join(fileSlice[:], ",")

再次回到切片

import strings
fileSlice := strings.Split(stringFiles, ",")