2017-06-26 10 views
0

GOLANG内のSTRUCTURE内のFIELDのポインタまたはアドレスにアクセスする方法。私は、構造体変数全体のアドレスまたはポインタを持っていますが、構造体内のフィールドのアドレスに正しくアクセスできません。これまでのところ私は反射を試みたが、どこかで壊れているようだ。どんな助けも高く評価されます。例えばGolangの構造変数内のフィールドのアドレスへのアクセス

答えて

3

package main 

import (
    "fmt" 
) 

type S struct{ F1, F2 int } 

func main() { 
    s := new(S) 
    f1, f2 := &s.F1, &s.F2 
    fmt.Printf("%p %p %p\n", s, f1, f2) 
} 

出力:

0x1040a128 0x1040a128 0x1040a12c 
+0

を共有していただきありがとうございます。それは本当にシンプルに見えますが、私のコードでは失敗します final.id =&(intermediate.ID())。 finalのidフィールドは文字列*ですが、intermediate.ID()は文字列を返します。現在、intermediate.ID()値を保持し、そのアドレスを割り当てるために一時変数を作成する必要があります。私は一時変数を避けたい。 –

関連する問題