一尘不染

如何将一段字符串连接成一个字符串?

go

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 参数中的 []string 类型

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


阅读 208

收藏
2021-11-04

共2个答案

一尘不染

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

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

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

fmt.Println(strings.Join(reg[:],","))
2021-11-04
一尘不染

你的问题的标题是:

如何将一段字符串连接成一个字符串?

但实际上,reg切片,而是一个长3阵列。[...]string只是(在这种情况下)的语法糖[3]string

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

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

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

顺便说一句,如果你真的需要将一个字符串数组连接成一个字符串,你可以通过添加从数组中获取一个切片[:],如下所示:

fmt.Println(strings.Join(reg[:], ","))
2021-11-04