当前位置: > > > > Goland中通过字符串获取结构体字段
来源:stackoverflow
2024-04-22 15:36:33
0浏览
收藏
哈喽!大家好,很高兴又见面了,我是的一名作者,今天由我给大家带来一篇《Goland中通过字符串获取结构体字段》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!
问题内容
在 js 中我可以:
const str = "Name" const obj = {"Name" : "SomeName"} console.log(obj[str])
我如何在 goland 中做到这一点?
正确答案
通常,您不会对 go 中的结构执行此操作。当你需要能够做到这一点时,最好的方法通常是先创建一个 map[string]string
,你可以像在 js 中一样访问它。然后你将它转换成一个结构体,代码如下:
structfrommap := mystructtype{ name: mymap["name"], favoritepokemon: mymap["favoritepokemon"], }
如果您确实需要以这种方式与结构体交互,您可以导入“reflect”包,然后执行
reflect.valueof(mystruct).fieldbyname("name")
package main import ( "fmt" "reflect" ) func main() { type user struct { firstName string lastName string } // hire you define your struct u := user{firstName: "John", lastName: "Doe"} s := reflect.ValueOf(u) fmt.Println("Name:", s.FieldByName("firstName")) }
为了帮助你开始使用 go,我推荐这个:
好好学习/编码:)
到这里,我们也就讲完了《Goland中通过字符串获取结构体字段》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注公众号,带你了解更多关于的知识点!