我試圖一次向結構數組添加2個項目,然後連續每2個項目創建一個新的結構數組並追加到最終的Container
結構。我正在努力尋找這樣做的正確方法。一次添加兩個項目以構建for循環
爲了進一步說明我的意思:
package main
import "fmt"
type Container struct {
Collection []SubContainer
}
type SubContainer struct {
Key string
Value int
}
func main() {
commits := map[string]int{
"a": 1,
"b": 2,
"c": 3,
"d": 4,
"e": 5,
"f": 6,
}
sc := []SubContainer{}
c := Container{}
for k, v := range commits {
sc = append(sc, SubContainer{Key: k, Value: v})
}
for _, s := range sc {
c.Collection = append(c.Collection, s)
}
fmt.Println(c)
}
鏈接:https://play.golang.org/p/OhSntFT7Hp
我期望的行爲是遍歷所有的commits
,每一次的SubContainer
達到LEN(2),追加到Container
,並創建一個新的SubContainer
,直到for循環完成。如果元素數量不統一,那麼最後一個SubContainer將只保存一個元素並像正常一樣附加到Container。
有沒有人有任何建議如何做到這一點?道歉,如果這是一個明顯的答案,非常新的去!
什麼'sc'的目的是什麼?您可以直接追加到'c.Collection'並完全跳過'sc'。同樣的結果。 – icza