首頁 > 後端開發 > Golang > 如何為 Go 結構體中的欄位定義多個名稱標籤?

如何為 Go 結構體中的欄位定義多個名稱標籤?

Linda Hamilton
發布: 2024-12-04 14:47:11
原創
205 人瀏覽過

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

Go 結構體中的多個名稱標籤

在Go 中使用結構體時,定義多個名稱標籤來表示不同上下文中的相同欄位非常有用。這在處理需要特定格式資料的第三方程式庫或 API 時特別有用。

問題:在結構中定義多個名稱標籤

考慮以下範例:

此結構體旨在表示Mongo 資料庫文檔,其中PageId 欄位標記為MongoDB (bson) 和Meta 欄位也標記為MongoDB。但是,當將此結構體編碼為 JSON 時,PageId 欄位將呈現為 PageId(大寫)而不是 pageId。

解決方案:使用空格作為標籤分隔符號

為一個名稱定義多個名稱標籤字段,使用空格而不是逗號作為標籤之間的分隔符號。以下是此結構的更新版本:

透過此修改,PageId 欄位同時標記為 MongoDB(作為 pageId)和 JSON(作為 pageId)。這確保了在與 MongoDB 互動或編碼為 JSON 時,該欄位將被正確命名。

文件參考

Go 反射包文件指定了標記字串的約定:

以上是如何為 Go 結構體中的欄位定義多個名稱標籤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板