我确信这是一个简单的问题,但我一直在讨论这个问题。我看到其他人也是如此。
我看到有些人创建了一个for
循环并在切片中运行以创建字符串,是否有更简单的方法将[]string
转换为string
?
sprintf
会这样做吗?
答案 0 :(得分:39)
您可以使用strings.Join(arr []string, seperator string) string
,就像我所知道的几乎任何其他语言一样
答案 1 :(得分:19)
这是一个简单的例子,你可以粘贴到main函数:
stringArray := []string {"Hello","world","!"}
justString := strings.Join(stringArray," ")
fmt.Println(justString)
并在操场上链接到working example。
或者使用非常简单的功能 simple function
答案 2 :(得分:2)
通过导入字符串包,可以使用 Join 函数轻松完成。您需要传递字符串切片和分隔字符串中元素所需的分隔符。 (例如:空格或逗号)
func Join(elems []string, sep string) string
示例代码:
package main
import (
"fmt"
"strings"
)
func main() {
sliceStr := []string{"a","b","c","d"}
str := strings.Join(sliceStr,", ")
fmt.Println(str)
}
//output: a, b, c, d
答案 3 :(得分:0)
如果不关心分隔符,可以使用path
:
package main
import "path"
func main() {
a := []string{"south", "north"}
s := path.Join(a...)
println(s == "south/north")
}