【问题标题】:How to convert a string to an array in Golang?如何在 Golang 中将字符串转换为数组?
【发布时间】:2017-08-18 06:47:07
【问题描述】:

如何在 Go 中有效地将字符串转换为具有一个元素(即该字符串)的字符串数组。

例如:

var s string
s = "This is a string"

["This is a string"]

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

【问题讨论】:

  • 我不确定我是否理解。 [1]string{s} 是包含字符串 s 的数组。这就是你所要求的语法吗?
  • 不行不行。获取:cannot use [1]string literal (type [1]string) as type []string in assignment
  • 我不认为“有效”意味着你认为它的作用。你描述的方法是有效的。 @DarshanRivkaWhittle 的也是如此,但他的更简洁,更惯用。
  • 基本上我有一个字符串数组message []string所以我想做的是message = [s]
  • 你想要的不是数组而是切片。使用[]string(s)

标签: arrays string go slice


【解决方案1】:
intput:="This is a string"
output:=[]string{intput}
fmt.Println(intput)
fmt.Println(output)

要了解,您应该阅读 Go 博客上有关切片和数组的更多信息。

【讨论】:

  • 您好。欢迎来到 StackOverflow。您的答案应该提供基本的代码-sn-ps 以及解释。请解释它是如何工作的以及为什么工作 - 这就是你根据 S.O. 写一个好的答案的方式。标准。随意参考其他资源,当您这样做时,如果您提供链接,它也会有所帮助。 stackoverflow.com/help/how-to-answer
【解决方案2】:

要在 Go 中初始化字符串切片,请使用 s := []string{"This is a string"}
要在 Go 中初始化字符串数组,请使用 s := [1]string{"This is a string"}

唯一的区别(声明每个)在于是否指定数组长度。

要了解您要使用哪种结构,您应该详细了解slicesarrays on the Go Blog 之间的区别。

【讨论】:

    猜你喜欢
    • 2017-04-28
    • 2015-10-07
    • 2016-02-28
    • 2022-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 2019-05-03
    相关资源
    最近更新 更多