首頁 >後端開發 >Golang >如何輕鬆列印 Go 結構及其欄位名稱和 String() 方法?

如何輕鬆列印 Go 結構及其欄位名稱和 String() 方法?

Barbara Streisand
Barbara Streisand原創
2024-12-06 15:58:11983瀏覽

How Can I Easily Print Go Structs with Their Field Names and String() Methods?

使用Field String() 列印結構

在此程式碼中:

注意A 沒有實作String()方法,因此fmtfmt .Println(a) 列印其本機表示。為結構體中的每個新欄位更新 String() 可能會很乏味。

不幸的是,這種行為是 fmt 套件固有的。但是,使用反射的輔助函數可以解決此問題:

此函數使用反射來迭代結構體欄位並呼叫其 String() 方法(如果可用)。

用法:

(可選)將String() 方法加入到呼叫的結構中PrintStruct():

現在,帶有String () 的結構體欄位將會自動列印。

註釋:

  • 導出任何私有字段,使它們可以被反射訪問。
  • 新增欄位名稱以提高可讀性(但它是可選的)。
  • 即使該值不是結構體,這種方法也有效,使其具有通用性。

以上是如何輕鬆列印 Go 結構及其欄位名稱和 String() 方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn