相关疑难解决方法(0)

如何将reflect.New的返回值转换回原始类型

我正在使用反射go,我注意到下面表达的奇怪之处:

package main

import (
        "log"
        "reflect"
)

type Foo struct {
        a int
        b int
}

func main() {
        t := reflect.TypeOf(Foo{})
        log.Println(t) // main.Foo
        log.Println(reflect.TypeOf(reflect.New(t))) // reflect.Value not main.Foo
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能将reflect.Value背面转换为main.Foo

为方便起见,我提供了一个游乐场.

reflection go go-reflect

2
推荐指数
1
解决办法
494
查看次数

标签 统计

go ×1

go-reflect ×1

reflection ×1