我有一个go结构体,定义如下:
type Record struct {
events.APIGatewayProxyRequest `json:",omitempty"`
events.APIGatewayWebsocketProxyRequest `json:",omitempty"` //nolint:all
events.SQSEvent `json:",omitempty"`
}
我想知道如何启动这个结构。我试过了:
Record{events.APIGatewayProxyRequest: {}}
但它给了我一个错误:invalid field name events.APIGatewayProxyRequest in struct literal
.似乎包含包名的名称不能作为结构体中的键名,正确的初始化方法是什么?
1条答案
按热度按时间kxe2p93d1#
当你把一个类型嵌入到一个结构体中时,封闭的结构体有一个字段名,这个字段名与不带包选择器的嵌入类型的类型名相同。
初始化的右边是该类型的文本,因此使用完整的类型名(带有选择器)。