首頁 >後端開發 >Golang >如何在 Go 中列印帶有指標的嵌套結構的值?

如何在 Go 中列印帶有指標的嵌套結構的值?

Patricia Arquette
Patricia Arquette原創
2024-12-29 21:24:11201瀏覽

How to Print the Values of Nested Structs with Pointers in Go?

在Go 中使用指標列印結構體值

在Go 中,常常會遇到需要列印以下結構體值的情況:包含指向其他結構的指標。但是,fmt.Printf() 中 %v 格式說明符的預設行為顯示指標位址而不是實際值。

考慮以下範例:

的輸出上面的程式碼是:

可以看到,B欄位列印為B結構體的記憶體位址,而不是它的記憶體位址實際值。

使用 Stringer 介面自訂列印

列印巢狀結構內容的一種方法是為 A 和 B 類型實作 Stringer 介面。 Stringer 介面需要一個方法 String(),它傳回值的字串表示形式。

這是Stringer 接口的更新示例:

現在,輸出為:

手動打印

如果您不希望實作Stringer 接口,則可以使用print 語句手動列印所需的結構表示。例如,您可以存取嵌套結構體的欄位並單獨列印它們:

這種方法可讓您完全控制輸出的格式。

以上是如何在 Go 中列印帶有指標的嵌套結構的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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