多個結構我需要初始化多個結構變量正在初始化中去
假設的結構是
type Foo struct {
a int
b *Foo
}
而且我們說,我想初始化那些5。有沒有比下面的片段多次更乾淨的方式?
s0 := &Foo{}
s1 := &Foo{}
s2 := &Foo{}
像
var a, b, c, d int
感謝您的幫助! :)
多個結構我需要初始化多個結構變量正在初始化中去
假設的結構是
type Foo struct {
a int
b *Foo
}
而且我們說,我想初始化那些5。有沒有比下面的片段多次更乾淨的方式?
s0 := &Foo{}
s1 := &Foo{}
s2 := &Foo{}
像
var a, b, c, d int
感謝您的幫助! :)
你可以把他們在一個聲明中,如果你想:
s0, s1, s2 := new(Foo), new(Foo), new(Foo)
你也可以這樣做:
var s0, s1, s2 Foo
然後用&s0
,&s1
和&s2
隨後代替s0
,s1
和s2
。
你需要指針嗎?如果不是的話,那麼你的問題就完全是你的答案。只需在您的var語句中將您的類型替換爲int
即可。
您可以使用循環和切片來分配5個foos。
foos := make([]*Foo, 5)
for i := range foos {
foos[i] = &Foo{}
}
另一種方法是使用一個數組:
foos := [5]Foo{}
並使用& FOOS [0],& FOOS [1],...作爲指針。
對不起,達斯汀,你說得對。你的回答的措辭令我困惑,我已經刪除了評論。 –