Ich benutze Golang Revel für ein Webprojekt und ich mochte bisher 12 Projekte. In allen von ihnen habe ich eine Menge Code-Redundanz wegen der Rückgabetypen. Sehen Sie sich diese zwei Funktionen an:Wie man dynamische Struktur in Golang zurückgibt?
func (c Helper) Brands() []*models.Brand{
//do some select on rethinkdb and populate correct model
var brands []*models.Brand
rows.All(&brands)
return brands
}
func (c Helper) BlogPosts() []*models.Post{
//do some select on rethinkdb and populate correct model
var posts []*models.Post
rows.All(&posts)
return posts
}
Wie Sie sehen, sie beide die gleiche Art von Daten (Typ struct) zurückgibt. Meine Idee war, nur String var wie dies passieren:
func (c Helper) ReturnModels(modelName string) []*interface{} {
//do rethinkdb select with modelName and return []*interface{} for modelName
}
Mag ich nur ein Helfer-Typen für die Rückgabe Daten können statt gleiche Sache immer und immer wieder für verschiedene Modelle, aber gleichen Datentyp.
Meine Fragen sind:
- dies möglich bei allen
- Ist Wenn ja können Sie mich nach rechts docs Punkt
- Wenn nein, werde ich mehr als glücklich sein, Ihre Antwort zurück :)
rechten Spur @ pregmatch +1 –