英文:
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.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。


评论