【发布时间】:2020-05-10 19:30:16
【问题描述】:
package main
import (
"fmt"
"reflect"
)
func main() {
type tu struct {
N int
}
type t struct {
ARRAY []tu
NESTED *tu
NESTED_ARRAY []*tu
}
var n = t{[]tu{{4}}, &tu{5}, []*tu{{6}}}
//print value
fmt.Printf("value2: %v\n", reflect.ValueOf(&n).Elem().Field(1).Slice(0, 1))
fmt.Printf("value3: %v\n", reflect.ValueOf(&n).Elem().Field(2).Elem().Field(0))
fmt.Printf("value4: %v\n", reflect.ValueOf(&n).Elem().Field(3).Slice(0, 1).Elem().Field(0))
return
}
我正在尝试使用反射访问切片指针的值。
reflect.ValueOf(&n).Elem().Field(3).Slice(0, 1).Elem().Field(0) 应该可以工作,但不能。
我应该怎么做?
【问题讨论】: