2016-08-12 88 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

你的領域必須是公開的。將其命名爲Value。

+0

Thx。拯救了我的一天! –