appendStruct
函數被設計爲在多個線程中運行,以便收集和追加DataItem
到DataContainer
。到目前爲止,我可以從內部打印結果appendStruct
Q1:如何從main
訪問和打印container
,Q2:將結構數據類型從main
保存到csv
?從go run test.go
在main範圍內訪問內部範圍內的結構數據並在Golang中保存爲csv
package main
import "fmt"
type DataItem struct {
name string
}
type DataContainer struct {
Items []DataItem
}
func (box *DataContainer) AddItem(item DataItem) []DataItem {
box.Items = append(box.Items, item)
return box.Items
}
func appendStruct() {
items := []DataItem{}
container := DataContainer{items}
item1 := DataItem{name: fmt.Sprintf("Item1")}
item2 := DataItem{name: fmt.Sprintf("Item2")}
container.AddItem(item1)
container.AddItem(item2)
var ss = fmt.Sprintf("", container)
fmt.Println(ss)
}
func main() {
appendStruct()
}
輸出是:
%!(EXTRA main.DataContainer={[{Item1} {Item2}]})
重新Q1。 "encoding/csv"
必須實現字符串接口[][]string
有一個提示如何在Write struct to csv file 中接近它,但缺少實現示例。
從'appendStruct'返回'container'。 – RayfenWindspear
請問你能解決這個問題嗎?我是'golang'的新手。我將有多個'appendStruct'線程將數據寫入'container',所以當它們全部完成時需要被訪問。 –