如何在Golang中将字符串转换为数组?

3
如何在Go语言中将字符串有效地转换为只有一个元素(即该字符串)的字符串数组。
例如:
var s string
s = "This is a string"

to

["This is a string"]

显然,一种方法是创建一个字符串数组,并将第一个元素初始化为该字符串,但我正在寻找一种更有效的方法。


5
我不确定我理解了。[1]string{s} 是包含字符串s的数组。这个语法是你想要的全部吗? - Darshan Rivka Whittle
不行,出现错误:无法将 [1] 字符串文字(类型为 [1]string)用作 []string 类型进行赋值 - Harshit Gupta
2
我不认为“有效”这个词的意思是你所理解的那样。你描述的方法是有效的。@DarshanRivkaWhittle的方法也是有效的,但他的方法更简洁、更符合习惯用法。 - slim
基本上我有一个字符串数组message []string,所以我想做的是message = [s] - Harshit Gupta
1
你需要的不是一个数组,而是一个切片。使用[]string(s) - md2perpe
2个回答

14
要在Go中初始化字符串切片,您可以使用s := []string{"This is a string"}
要在Go中初始化字符串数组,您可以使用s := [1]string{"This is a string"}。 两者声明的唯一区别在于是否指定了数组长度。
要了解应使用哪种结构,请阅读有关切片和数组之间区别的更多信息,请查看Go Blog

0
intput:="This is a string"
output:=[]string{intput}
fmt.Println(intput)
fmt.Println(output)

要理解,你应该在Go Blog上多阅读有关切片和数组的内容。


你好。欢迎来到StackOverflow。你的回答应该提供必要的代码片段以及解释。请解释它是如何工作的,为什么会这样 - 这是根据S.O.标准编写良好答案的方法。如果需要引用其他资源,可以随意参考,并在提供链接时更加有帮助。https://stackoverflow.com/help/how-to-answer - F. Müller
这似乎是在重申几年前被接受的答案中已经说过的事情。 - khelwood
谢谢,这对我很有用。我想将一个字符串变量转换为字符串数组。另一个答案没有显示这个。 - Sridhar Sarnobat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接