首頁 >後端開發 >Golang >Go中如何列印結構體的記憶體位址?

Go中如何列印結構體的記憶體位址?

DDD
DDD原創
2024-11-30 02:27:14498瀏覽

How Can I Print the Memory Address of a Struct in Go?

在Go 中列印結構體變數的位址

在Go 中,& 運算子傳回變數的位址,* 運算子傳回變數的地址取消引用指標以存取它指向的值。但是,當使用 fmt.Println() 列印結構體的值時,將會套用預設格式,這會導致結構體值的位址採用特殊語法。

印出結構體變數的位址明確地,格式字串可以與 %p 動詞一起使用。此動詞指定該值應列印為指標。

考慮以下範例:

type Rect struct {
    width int
    name int
}

func main() {
    r := Rect{4, 6}
    fmt.Printf("%p\n", &r)
}

此程式碼將以十六進位數字輸出結構體變數 r 的位址。在這種情況下,輸出可能類似於:

0x414020

透過使用 %p 動詞,您可以擷取並列印 Go 中任何變數的位址,包括結構變數。這對於調試目的或將地址傳遞給需要它們的函數很有用。

以上是Go中如何列印結構體的記憶體位址?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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