草庐IT

Reflection

全部标签

string - 如何在 Go 中使用反射设置一个指向字符串的结构成员

我正在尝试使用反射来设置指针。elasticbeanstalk.CreateEnvironmentInput有一个SolutionStackName字段,它是*string类型。当我尝试设置任何值时出现以下错误:panic:reflect:callofreflect.Value.SetPointeronptrValue这是我的代码:...newEnvCnf:=new(elasticbeanstalk.CreateEnvironmentInput)checkConfig2(newEnvCnf,"SolutionStackName","teststring")...funccheckCon

string - 如何在 Go 中使用反射设置一个指向字符串的结构成员

我正在尝试使用反射来设置指针。elasticbeanstalk.CreateEnvironmentInput有一个SolutionStackName字段,它是*string类型。当我尝试设置任何值时出现以下错误:panic:reflect:callofreflect.Value.SetPointeronptrValue这是我的代码:...newEnvCnf:=new(elasticbeanstalk.CreateEnvironmentInput)checkConfig2(newEnvCnf,"SolutionStackName","teststring")...funccheckCon

go - 如何通过反射从名称中获取类型表示?

有没有办法使用reflectionlibraries在Go中从一个类型的名称转到它的Type代表?我有一个库,用户需要在其中为某些代码生成提供类型表示。我知道这一定是可能的(在某种意义上),因为他们可以创建该类型的变量并调用TypeOffunction,但是有没有办法绕过这个并只从名称中获取表示? 最佳答案 这个问题不是很明确,可以用两种方式解释,其中一种答案是否定的,不可能的;另一个答案是肯定的,这是可能的。在运行时如果类型名称作为string值提供,那么在运行时它是不可能的,因为未明确引用的类型可能不会编译成最终的可执行二进制文

go - 如何通过反射从名称中获取类型表示?

有没有办法使用reflectionlibraries在Go中从一个类型的名称转到它的Type代表?我有一个库,用户需要在其中为某些代码生成提供类型表示。我知道这一定是可能的(在某种意义上),因为他们可以创建该类型的变量并调用TypeOffunction,但是有没有办法绕过这个并只从名称中获取表示? 最佳答案 这个问题不是很明确,可以用两种方式解释,其中一种答案是否定的,不可能的;另一个答案是肯定的,这是可能的。在运行时如果类型名称作为string值提供,那么在运行时它是不可能的,因为未明确引用的类型可能不会编译成最终的可执行二进制文

Golang 获取特定结构字段名称的字符串表示

我真的想要一种在go中打印字段名称的字符串表示形式的方法。它有几个用例,但这里有一个例子:假设我有一个结构typeTeststruct{Fieldstring`bson:"Field"json:"field"`OtherFieldint`bson:"OtherField"json:"otherField"`}例如,我想做一个mongo查找:collection.Find(bson.M{"OtherField":someValue})我不喜欢我必须把字符串“OtherField”放在那里。错误输入或结构更改似乎很脆弱且容易,然后我的查询在我不知情的情况下失败。有没有办法在不必声明cons

Golang 获取特定结构字段名称的字符串表示

我真的想要一种在go中打印字段名称的字符串表示形式的方法。它有几个用例,但这里有一个例子:假设我有一个结构typeTeststruct{Fieldstring`bson:"Field"json:"field"`OtherFieldint`bson:"OtherField"json:"otherField"`}例如,我想做一个mongo查找:collection.Find(bson.M{"OtherField":someValue})我不喜欢我必须把字符串“OtherField”放在那里。错误输入或结构更改似乎很脆弱且容易,然后我的查询在我不知情的情况下失败。有没有办法在不必声明cons

go - 在 Golang 中无需声明结构即可从接口(interface)获取接口(interface)字段值

我正在尝试从Golang中的接口(interface)获取字段值。该接口(interface)最初是一个空接口(interface),它从数据库结果中获取其值。数据库查询工作正常。我唯一需要的就是需要获取接口(interface)的字段值。这是我的代码:s:=reflect.ValueOf(t)fori:=0;i其中t是具有以下值的接口(interface):map[id:nullcount:1]我想要"count"的值就像简单的1。我的问题是Index()方法返回一个panic,因为它需要一个结构,而我这里没有任何结构。那么获取接口(interface)值应该怎么做呢?是否有任何解决

go - 在 Golang 中无需声明结构即可从接口(interface)获取接口(interface)字段值

我正在尝试从Golang中的接口(interface)获取字段值。该接口(interface)最初是一个空接口(interface),它从数据库结果中获取其值。数据库查询工作正常。我唯一需要的就是需要获取接口(interface)的字段值。这是我的代码:s:=reflect.ValueOf(t)fori:=0;i其中t是具有以下值的接口(interface):map[id:nullcount:1]我想要"count"的值就像简单的1。我的问题是Index()方法返回一个panic,因为它需要一个结构,而我这里没有任何结构。那么获取接口(interface)值应该怎么做呢?是否有任何解决

go - 反射(reflection)传递给 interface{} 函数参数的结构

我将结构作为interface{}传递给函数.然后在里面我使用reflect来处理它获取结构属性。这是代码:func(db*DB)Migrate(domain...interface{}){//statement:="CREATETABLEIFNOTEXISTS%s(%s,%s,%s,%s,%s)"for_,i:=rangedomain{params:=BindStruct(&i)statement:=CreateStatement("create",len(params))_,err:=db.Exec(fmt.Sprintf(statement,params...))iferr!=n

go - 反射(reflection)传递给 interface{} 函数参数的结构

我将结构作为interface{}传递给函数.然后在里面我使用reflect来处理它获取结构属性。这是代码:func(db*DB)Migrate(domain...interface{}){//statement:="CREATETABLEIFNOTEXISTS%s(%s,%s,%s,%s,%s)"for_,i:=rangedomain{params:=BindStruct(&i)statement:=CreateStatement("create",len(params))_,err:=db.Exec(fmt.Sprintf(statement,params...))iferr!=n