草庐IT

反射面

全部标签

reflection - 创建知道反射类型的新对象

在函数中,我传递的参数之一reflect.TypeOf(Person)person是带有几个字符串的struct。如果另一个函数接受这个参数,我想实例化这个空结构,知道它的反射类型。我试过跟随ins:=reflect.New(typ)//typisnameorpassedreflect.TypeOf(Person)但这会返回nil。我做错了什么? 最佳答案 为了说明您做错了什么,我们应该查看更多您的代码。但这是一个如何做你想做的简单例子:typePersonstruct{NamestringAgeint}funcmain(){p:=

json - golang 无法为反射创建的对象解析 json

我尝试在go中编写简单的消息协议(protocol),但遇到了问题。我有很多消息类型,我想要一个这样的字典来处理消息:vardictmap[reflect.Type]int=map[reflect.Type]int{reflect.TypeOf(DataMessage{}):1000,reflect.TypeOf(TextMessage{}):1001,//....}funcGetMessageTypeId(valueinterface{})int{ifid,ok:=dict[reflect.TypeOf(value)];ok{returnid}else{return-1}}funcG

json - golang 无法为反射创建的对象解析 json

我尝试在go中编写简单的消息协议(protocol),但遇到了问题。我有很多消息类型,我想要一个这样的字典来处理消息:vardictmap[reflect.Type]int=map[reflect.Type]int{reflect.TypeOf(DataMessage{}):1000,reflect.TypeOf(TextMessage{}):1001,//....}funcGetMessageTypeId(valueinterface{})int{ifid,ok:=dict[reflect.TypeOf(value)];ok{returnid}else{return-1}}funcG

reflection - 如何使用反射提取接口(interface)类型名称和包?

我需要使用反射知道类型名称及其路径。typeType有一个Name()和PkgPath()方法,但如果类型是一个接口(interface),它们都返回空。但是,如果我反射(reflect)一个函数并提取其参数的类型信息,我将获得正确的类型信息。我应该假设这是前一种情况下的错误吗?TypeOf不应该不管上下文(例如类型函数参数或值的类型)都返回相同的类型信息吗?我知道类型断言,但我并不总是有一个值来进行断言,所以我需要使用reflect.Type信息。packagemainimport("fmt""reflect""golang.org/x/net/context")funcmain()

reflection - 如何使用反射提取接口(interface)类型名称和包?

我需要使用反射知道类型名称及其路径。typeType有一个Name()和PkgPath()方法,但如果类型是一个接口(interface),它们都返回空。但是,如果我反射(reflect)一个函数并提取其参数的类型信息,我将获得正确的类型信息。我应该假设这是前一种情况下的错误吗?TypeOf不应该不管上下文(例如类型函数参数或值的类型)都返回相同的类型信息吗?我知道类型断言,但我并不总是有一个值来进行断言,所以我需要使用reflect.Type信息。packagemainimport("fmt""reflect""golang.org/x/net/context")funcmain()

Unity灯光二:ReflectionProbe(反射探针)与LightProbeGroup(光照探针组)

1.ReflectionProbe API:反射探针 待更新补充2.LightProbeGrop: API:光照探针组 要将光照探针置于场景中,必须使用已附加 LightProbeGroup 组件的游戏对象。可从菜单 Component>Rendering>LightProbeGroup 添加LightProbeGroup组件。可将LightProbeGroup组件添加到场景中的任何游戏对象。但是,最好创建一个新的空游戏对象(菜单:__GameObject>CreateEmpty__),然后将该组件添加到这个游戏对象,从而降低意外将该组件从项目中移除的可能性。多了也不说了,看API基本都知道了

go - 将 json.RawMessage 解码为反射 slice

在下面的示例中,我尝试使用反射将Unmarshal一个json.RawMessage放入一个slice中,以确定json中的项目类型.RawMessage,json.RawMessage始终表示特定类型的数组,类型的名称包含在json中,指向它的指针从map中检索[字符串]接口(interface){}typecommandstruct{Action*stringType*stringItemsjson.RawMessage//becauseineedtofigureouttheTypefieldvaluefirst,itsalwaysanarrayofasingletype}//as

go - 将 json.RawMessage 解码为反射 slice

在下面的示例中,我尝试使用反射将Unmarshal一个json.RawMessage放入一个slice中,以确定json中的项目类型.RawMessage,json.RawMessage始终表示特定类型的数组,类型的名称包含在json中,指向它的指针从map中检索[字符串]接口(interface){}typecommandstruct{Action*stringType*stringItemsjson.RawMessage//becauseineedtofigureouttheTypefieldvaluefirst,itsalwaysanarrayofasingletype}//as

testing - 使用反射调用带有 nil 参数的函数导致 "Call using zero Value argument" panic

我正在尝试测试接受“错误”类型参数的函数。该函数在某些情况下应该会出现panic,我正在尝试测试场景。但是,当我尝试对nil值(可以将其传递到接受“error”类型的函数)使用reflect.Call时,它似乎会导致panic并显示以下消息:reflect:CallusingzeroValueargument我找到了以下帖子,但未能将其整合到我的功能中。https://groups.google.com/forum/#!topic/golang-nuts/apNcACpl_fIhttps://groups.google.com/forum/#!topic/golang-nuts/WOU

testing - 使用反射调用带有 nil 参数的函数导致 "Call using zero Value argument" panic

我正在尝试测试接受“错误”类型参数的函数。该函数在某些情况下应该会出现panic,我正在尝试测试场景。但是,当我尝试对nil值(可以将其传递到接受“error”类型的函数)使用reflect.Call时,它似乎会导致panic并显示以下消息:reflect:CallusingzeroValueargument我找到了以下帖子,但未能将其整合到我的功能中。https://groups.google.com/forum/#!topic/golang-nuts/apNcACpl_fIhttps://groups.google.com/forum/#!topic/golang-nuts/WOU