这是* s3.GetObjectOutput struct:
type GetObjectOutput struct {
...
Metadata map[string]*string
...
}
我想用结构字段声明我的结构在GetObjectOutput结构中具有Metadata字段的类型,如下所示
type MyObject struct {
Metadata *s3.GetObjectOutput.Metadata
...
}
但这不正确。如何声明具有字段的结构具有另一个结构字段的类型而不是显式写下:
type MyObject struct {
Metadata map[string]*string
...
}
答案 0 :(得分:1)
正如@zerkms所说,你做不到。
最好的想法是在MyObject
中创建自己的相同类型的字段。
您还可以将s3.GetObjectOutput
嵌入MyObject
。
type MyObject struct {
*s3.GetObjectOutput
...
}
鉴于myobj
是MyObject
的实例,请使用myobj.Metadata
。
答案 1 :(得分:0)
@William Poussier 通过这种方式,我必须使用全局变量才能使用它的类型。正如@zerkms建议我从* s3.GetObjectOutput
复制元数据类型type Metadata map[string]*string
并使用:
type MyObject struct {
Metadata
}