Golang - 从结构数组中的值创建一个字符串

时间:2014-04-11 07:35:48

标签: go

我有一个结构数组,每个结构都有一个id和一个标题。

从这个数组创建逗号分隔的id列表的最有效方法是什么。

例如

Struct A - id: 1, title: ....
Struct B - id: 2, title: ....
Struct C - id: 3, title: ....

需要字符串"1,2,3"

1 个答案:

答案 0 :(得分: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())
}