英文:
Golang - Creating a string from value in array of structs
问题
我有一个包含结构体的数组,每个结构体都有一个id和一个title。
创建一个逗号分隔的id列表的最有效方法是什么?
例如:
结构体A - id: 1, title: ....
结构体B - id: 2, title: ....
结构体C - id: 3, title: ....
需要一个字符串 "1,2,3"
。
英文:
I have a an array of structs that each have an id and a title.
What is the most efficient way of creating a comma separated list of ids from this array.
eg
Struct A - id: 1, title: ....
Struct B - id: 2, title: ....
Struct C - id: 3, title: ....
Need a string "1,2,3"
答案1
得分: 3
迭代数组并将其附加到缓冲区。
package main
import (
"bytes"
"fmt"
"strconv"
)
type data struct {
id int
name string
}
var dataCollection = [...]data{data{1, "A"}, data{2, "B"}, data{3, "C"}}
func main() {
var csv bytes.Buffer
for index, strux := range dataCollection {
csv.WriteString(strconv.Itoa(strux.id))
if index < (len(dataCollection) - 1) {
csv.WriteString(",")
}
}
fmt.Printf("%s\n", csv.String())
}
请注意,这是一个Go语言的代码示例,它迭代一个名为dataCollection
的数组,并将其中的id
字段附加到一个缓冲区csv
中。最后,它打印出缓冲区的内容。
英文:
Iterate the array and append to a buffer.
package main
import (
"bytes"
"fmt"
"strconv"
)
type data struct {
id int
name string
}
var dataCollection = [...]data{data{1, "A"}, data{2, "B"}, data{3, "C"}}
func main() {
var csv bytes.Buffer
for index, strux := range dataCollection {
csv.WriteString(strconv.Itoa(strux.id))
if index < (len(dataCollection) - 1) {
csv.WriteString(",")
}
}
fmt.Printf("%s\n", csv.String())
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论