Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk memulakan struktur go dengan struktur bersarang yang namanya mempunyai nama pakej
Saya mempunyai struktur go yang ditakrifkan seperti berikut:
type record struct { events.apigatewayproxyrequest `json:",omitempty"` events.apigatewaywebsocketproxyrequest `json:",omitempty"` //nolint:all events.sqsevent `json:",omitempty"` }
Saya ingin tahu bagaimana untuk memulakan struktur ini. Saya cuba:
Record{events.APIGatewayProxyRequest: {}}
Tetapi ia memberi saya ralat: peristiwa nama medan tidak sah.apigatewayproxyrequest dalam struct literal . Nampaknya nama yang mengandungi nama pakej tidak boleh digunakan sebagai nama utama dalam struktur. Apakah cara yang betul untuk memulakannya?
Apabila membenamkan jenis ke dalam struktur, nama medan struktur yang disertakan adalah sama dengan nama jenis jenis terbenam (tanpa pemilih pakej). Jadi:
event:=Record{ APIGatewayProxyRequest: events.APIGatewayProxyRequest{ ... }, }
Sebelah kanan permulaan ialah literal untuk jenis, jadi anda menggunakan nama jenis penuh (dengan pemilih).
Atas ialah kandungan terperinci Bagaimana untuk memulakan struktur go dengan struktur bersarang yang namanya mempunyai nama pakej. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!