package main
import (
"fmt"
"strings"
)
func main() {
reg := [...]string {"a","b","c"}
fmt.Println(strings.Join(reg,","))
}
给出的误差为:
掠夺。Go:10:不能使用reg(类型[3]字符串)作为类型[]字符串的参数。加入
有比循环和添加到var更直接/更好的方法吗?
package main
import (
"fmt"
"strings"
)
func main() {
reg := [...]string {"a","b","c"}
fmt.Println(strings.Join(reg,","))
}
给出的误差为:
掠夺。Go:10:不能使用reg(类型[3]字符串)作为类型[]字符串的参数。加入
有比循环和添加到var更直接/更好的方法吗?
使用切片,而不是数组。只需要使用
reg := []string {"a","b","c"}
另一种方法是在加入时将数组转换为切片:
fmt.Println(strings.Join(reg[:],","))
请阅读Go博客中关于片和数组之间区别的内容。
你问题的题目是:
如何加入一个字符串片成一个单一的字符串?
但事实上,reg不是一个切片,而是一个长度为3的数组。[…字符串只是(在本例中)[3]字符串的语法糖。
要得到真正的切片,你应该这样写:
reg := []string {"a","b","c"}
(试一下:https://play.golang.org/p/vqU5VtDilJ。)
顺便说一句,如果你真的需要将一个字符串数组连接成一个字符串,你可以通过添加[:]从数组中获得一个切片,就像这样:
fmt.Println(strings.Join(reg[:], ","))
(试一下:https://play.golang.org/p/zy8KyC8OTuJ。)
这在2018年仍然有意义。
字符串
import strings
stringFiles := strings.Join(fileSlice[:], ",")
回到切片
import strings
fileSlice := strings.Split(stringFiles, ",")