我不明白該錯誤意味著什么,但我認為絕對路徑中的包和供應商路徑中的包之間很混亂。怎樣才能讓它不混淆呢?# github.com/GoogleCloudPlatform/terraformer/providers/alicloudproviders/alicloud/dum.go:10:35: cannot use func literal (type func(*"github.com/aliyun/aliyun-oss-go-sdk/oss".Client) (interface {}, error)) as type func(*"github.com/terraform-providers/terraform-provider-alicloud/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss".Client) (interface {}, error) in argument to client.WithOssClient這是最小的可重現(xiàn)代碼package dumimport ( oss "github.com/aliyun/aliyun-oss-go-sdk/oss" "github.com/terraform-providers/terraform-provider-alicloud/alicloud/connectivity")func dum() error { client := connectivity.AliyunClient{} raw, err := client.WithOssClient(func(ossClient *oss.Client) (interface{}, error) { return ossClient.ListBuckets() }) if err != nil { return err } println(raw) return nil}編輯:解決方案go mod vendorgo build -v
2 回答

偶然的你
TA貢獻1841條經(jīng)驗 獲得超3個贊
該錯誤意味著這兩種類型雖然相同,但由于它們位于不同的包中,因此被視為不同的。要使代碼正常工作,您可以oss
從github.com/terraform-providers/terraform-provider-alicloud/vendor/...
路徑導入?;蛘咦屇膽贸绦蚬掏瑫r提供connectivity
和oss
。

翻閱古今
TA貢獻1780條經(jīng)驗 獲得超5個贊
編譯器無法將“github.com/aliyun/aliyun-oss-go-sdk/oss”.Client替換為github.com/terraform-providers/terraform-provider-alicloud/vendor/github.com/aliyun/aliyun-oss- go-sdk/oss".Client,即使它們具有相同的名稱(但來自不同的包)。
- 2 回答
- 0 關(guān)注
- 136 瀏覽
添加回答
舉報
0/150
提交
取消