1
私は主な関数を持っています。ここで変数、クライアントを開始します。例:他のパッケージの構造体にオブジェクトを渡します。
func main() {
myClient := my.MustNewClient("localhost")
}
このクライアントを別のパッケージに渡したいのですが、何らかの理由でこれを行う方法がわかりません。
package rest
import (
"net/http"
"github.com/Sirupsen/logrus"
)
type AssetHandler struct {
mc my.Client
}
func (f AssetHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
logrus.Info("bla")
// here I want to use the client
mc.SomeFunctionIntheClient()
}
だから私の質問は、私は私のパッケージに(メインのうちの)クライアントを使うのですか、である:私のパッケージには、このようになりますか?そして、あなたは、main関数からハンドラをインスタンス化する必要があり
func NewAssetHandler(mc my.Client) AssetHandler {
return AssetHandler{mc}
}
:パッケージで