Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Mentakrifkan Teg Nama Berbilang untuk Medan dalam Go Struct?

Bagaimanakah Saya Boleh Mentakrifkan Teg Nama Berbilang untuk Medan dalam Go Struct?

Linda Hamilton
Lepaskan: 2024-12-04 14:47:11
asal
201 orang telah melayarinya

How Can I Define Multiple Name Tags for Fields in a Go Struct?

Teg Nama Berbilang dalam Struktur Go

Apabila bekerja dengan struct dalam Go, adalah berguna untuk mentakrifkan berbilang tanda nama untuk mewakili medan yang sama dalam konteks yang berbeza. Ini amat berguna apabila berurusan dengan perpustakaan atau API pihak ketiga yang mengharapkan data dalam format tertentu.

Isu: Mentakrifkan Teg Nama Berbilang dalam Struktur

Pertimbangkan contoh berikut:

type Page struct {
    PageId string                 `bson:"pageId"`
    Meta   map[string]interface{} `bson:"meta"`
}
Salin selepas log masuk

Struktur ini direka bentuk untuk mewakili dokumen pangkalan data Mongo, dengan medan PageId ditandakan untuk MongoDB (bson) dan medan Meta yang ditandakan untuk MongoDB juga. Walau bagaimanapun, apabila mengekodkan struct ini kepada JSON, medan PageId dipaparkan sebagai PageId (dalam huruf besar) bukannya pageId.

Penyelesaian: Menggunakan Ruang sebagai Pemisah Teg

Untuk menentukan berbilang tag nama untuk medan, gunakan ruang dan bukannya koma sebagai pemisah antara tag. Berikut ialah versi struct yang dikemas kini:

type Page struct {
    PageId string                 `bson:"pageId" json:"pageId"`
    Meta   map[string]interface{} `bson:"meta" json:"meta"`
}
Salin selepas log masuk

Dengan pengubahsuaian ini, medan PageId ditandakan untuk kedua-dua MongoDB (sebagai pageId) dan JSON (sebagai pageId). Ini memastikan bahawa medan akan dinamakan dengan sewajarnya apabila berinteraksi dengan MongoDB atau pengekodan kepada JSON.

Rujukan Dokumentasi

Dokumentasi pakej Go reflect menentukan konvensyen untuk rentetan teg:

By convention, tag strings are a concatenation of optionally space-separated key:"value" pairs.
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mentakrifkan Teg Nama Berbilang untuk Medan dalam Go Struct?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan