Я пытаюсь понять, как сохранить пользовательскую структуру в другой структуре (среди многих других вещей). В настоящее время мой код выглядит следующим образом:Перейти и настраиваемый тип структуры в другой структуре
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. Вместо этого я хотел бы получить, что [] собаки немного из моей структуры Stuff каким-то образом, но я не могу понять, как это сделать.
это, как я называю эту функцию:
func getMeDogs(w http.ResponseWriter, r *http.Request) interface{} {
collection = Collection("animals")
s := NewStuff(collection)
return getAll(s)
}
Так как я мог бы сделать что-то вроде с: = NewStuff (сбор, собаки) к моему Материала структуры без объявления как тип собаки в веществе (его может быть что угодно, в другой функции это могут быть кошки для всего, что я знаю ...)?
Дело в том, что я хочу повторно использовать эту функцию getAll для любых других типов, вместо того чтобы делать почти идентичную функцию getAll для всех моих 63 животных. Мяу.