英文:
Golang append string in string slice
问题
如何在字符串切片中追加字符串?
我尝试了以下代码:
s := make([]string, 1, 4)
s[0] = "filename"
s[0] := append(s[0], "dd")
但是这是错误的。然后我尝试了以下代码:
s[:1] := append(s[:1], "dd")
但是这也是错误的。
我该如何将一个字符串追加到s[0]
中?
英文:
How to append string in a string sclice?
I tried
s := make([]string, 1, 4)
s[0] = "filename"
s[0] := append(s[0], "dd")
But it is not correct. Then I tried
s[:1] := append(s[:1], "dd")
But it is not correct either.
How can I append a string to s[0]
?
答案1
得分: 13
内置的append()
函数用于将元素追加到切片中。如果你想将一个string
追加到另一个string
中,只需使用连接操作符+
。如果你想将结果存储在索引为0的位置,只需将结果赋值给它:
s[0] = s[0] + "dd"
或者简写为:
s[0] += "dd"
注意,你不需要(也不能)使用:=
这个短变量声明,因为你的s
切片已经存在。
fmt.Println(s)
的输出结果为:
[filenamedd]
如果你想将元素追加到切片而不是第一个元素,可以这样写:
s = append(s, "dd")
fmt.Println(s)
的输出结果(继续上面的例子)为:
[filenamedd dd]
你可以在Go Playground上尝试这些代码。
英文:
The builtin append()
function is for appending elements to a slice. If you want to append a string
to a string
, simply use the concatenation +
. And if you want to store the result at the 0th index, simply assign the result to it:
s[0] = s[0] + "dd"
Or short:
s[0] += "dd"
Note also that you don't have to (can't) use :=
which is a short variable declaration, since your s
slice already exists.
fmt.Println(s)
output:
[filenamedd]
If you want to append to the slice and not to the first element, then write:
s = append(s, "dd")
fmt.Println(s)
output (continuing the previous example):
[filenamedd dd]
Try these on the Go Playground.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论