私はいくつかのWebプロジェクトにGolang Revelを使用しています。これまでに12プロジェクトが好きでした。それらのすべてでは、戻り値の型のためにコード冗長性がたくさんあります。この2つの関数を見てください:Golangで動的な構造体を返す方法は?
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
}
これらの2つの関数は、同じタイプのデータ(型構造体)を返します。 私の考えでは、このような文字列のVAR渡すだけだった:私は、異なるモデルが、同じデータ型に対して何度も何度も同じことをやってデータ型を返す代わりに のためのちょうど1つのヘルパーを持つことができますこのよう
func (c Helper) ReturnModels(modelName string) []*interface{} {
//do rethinkdb select with modelName and return []*interface{} for modelName
}
を。
私の質問は次のとおりです。yesあなたが右のドキュメント
- はありません場合、私はあなたの答えを返すことがもっとして幸せになりますすべての
- で可能これです:)
右トラックの@ pregmatch 1 –