我正在努力理解如何将自定义结构保存在另一个结构中(还有很多其他的东西)。目前我的代码如下所示:type dogs struct { bleeh string blaah string bluuh string}type Stuff struct { collection *mgo.Collection //myAnimalStruct what type comes here?}func NewStuff(c *mgo.Collection) *Stuff { return &Stuff{ collection: c }}func getAll(s *Stuff) interface{} { collection = s.collection var results []dogs err := collection.Find(bson.M{}).All(&results) if err != nil { panic(err) } return results}现在,我想去掉 getAll 函数中的 var 结果 []dogs。相反,我想以某种方式从我的 Stuff 结构中获取 []dogs 位,但我不知道如何。这就是我调用这个函数的方式:func getMeDogs(w http.ResponseWriter, r *http.Request) interface{} { collection = Collection("animals") s := NewStuff(collection) return getAll(s)}那么我怎么能对我的 Stuff 结构做一些像 s := NewStuff(collection, dog) 这样的事情而不将它声明为 Stuff 中的狗类型(它可以是任何东西,在另一个函数中它可能是我所知道的猫......) ?关键是我想为任何其他类型重用这个 getAll 函数,而不是为我所有的 63 只动物制作几乎相同的 getAll 函数。喵。
1 回答
- 1 回答
- 0 关注
- 217 浏览
添加回答
举报
0/150
提交
取消