在Go 中使用指標列印結構體值
在Go 中,常常會遇到需要列印以下結構體值的情況:包含指向其他結構的指標。但是,fmt.Printf() 中 %v 格式說明符的預設行為顯示指標位址而不是實際值。
考慮以下範例:
的輸出上面的程式碼是:
可以看到,B欄位列印為B結構體的記憶體位址,而不是它的記憶體位址實際值。
使用 Stringer 介面自訂列印
列印巢狀結構內容的一種方法是為 A 和 B 類型實作 Stringer 介面。 Stringer 介面需要一個方法 String(),它傳回值的字串表示形式。
這是Stringer 接口的更新示例:
現在,輸出為:
手動打印
如果您不希望實作Stringer 接口,則可以使用print 語句手動列印所需的結構表示。例如,您可以存取嵌套結構體的欄位並單獨列印它們:
這種方法可讓您完全控制輸出的格式。
以上是如何在 Go 中列印帶有指標的嵌套結構的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!