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 サイトの他の関連記事を参照してください。