我是 GO 的新手,正在尝试使用 aws-sdk
构建函数 我有这样的东西
input := &rds.CreateDBClusterSnapshotInput{
// removed for brevity
}
result, err := svc.CreateDBClusterSnapshot(input)
if err != nil {
// removed for brevity
}
input = &rds.ModifyDBClusterSnapshotAttributeInput{
// removed for brevity
}
当我尝试构建时,出现此错误
cannot use &rds.ModifyDBClusterSnapshotAttributeInput literal (type *rds.ModifyDBClusterSnapshotAttributeInput) as type *rds.CreateDBClusterSnapshotInput in assignment
我的作业有什么问题?
最佳答案
正如@Sergio Tulentsev 所指出的,您正在将 ModifyDBClusterSnapshotAttributeInput
类型分配给变量 input
,即 CreateDBClusterSnapshotInput
类型。
会有一些解决方案来处理这个问题,但最简单的方法是为每个类型结构创建一个方法,为 input
返回一个兼容的类型,就像这样;
func (createInput CreateDBClusterSnapshotInput) ReturnInput() {
return createInput.input // assuming that there are a input type your create
}
如果您不想为每个结构创建一个具有相同功能的方法,您可以创建一个基类型,让您的两个结构扩展该类型,然后为该基类型构建一个方法。
关于go - 了解 GO 变量赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57540983/