2016-08-12 4 views
1

私は構造体の内部にあるポインタの値を設定するこのコードを持っています。反映を使用してポインタ値を設定しますか?

package main 

import (
    "fmt" 
    "reflect" 
) 

type MyStruct struct { 
    value *uint64 // value that I want to modify 
} 

func main() { 
    var i uint64 = 1 
    pointer := &MyStruct{&i} 

    elem := reflect.ValueOf(pointer).Elem() 
    field := elem.Field(0) 
    fmt.Println(field.CanSet(), field.Elem().CanSet()) 
} 

結果:

false false 

は、残念ながらそれは設定可能ではありません。私に何ができる?

答えて

2

あなたのフィールドは公開されている必要があります。値に「名前」を付けます。

+0

Thx。私の日を救った! –

関連する問題