結論 実装ではなくインターフェースに依存させる Goのinterfaceは実装の明示が必要ないので便利 aws-sdk-goのスタブ 外部ライブラリの例としてaws-sdk-goを使ったこういったコード例を考える: type CertificateFetcher struct { client *dynamodb.Client } func New(client *dynamodb.Client) *CertificateFetcher { return &CertificateFetcher{client: client} } func (f *CertificateFetcher) GetCertificate(domain string) (string, error) { resp, err := f.client.GetItem(...) if err != nil { retu