ホームページ > バックエンド開発 > Golang > Go で構造体のメモリ アドレスを出力するにはどうすればよいですか?

Go で構造体のメモリ アドレスを出力するにはどうすればよいですか?

DDD
リリース: 2024-11-30 02:27:14
オリジナル
482 人が閲覧しました

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 のアドレスを 16 進数として出力します。この場合、出力は次のようになります。

0x414020
ログイン後にコピー

%p 動詞を使用すると、構造体変数を含む Go の任意の変数のアドレスを取得して出力できます。これは、デバッグの目的や、アドレスを必要とする関数にアドレスを渡す場合に役立ちます。

以上がGo で構造体のメモリ アドレスを出力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート