当前位置: > > > > Goland中通过字符串获取结构体字段
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中通过字符串获取结构体字段》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注米云公众号,带你了解更多关于的知识点!
