登录
首页 >  Golang >  Go问答

提取嵌套结构中的数值

来源:stackoverflow

时间:2024-02-17 22:09:21 148浏览 收藏

golang学习网今天将给大家带来《提取嵌套结构中的数值》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

问题内容

我正在尝试从 golang 中的嵌套结构访问值。我的最终结构如下

studentdetails = [{"rollno":3,"name":"john","score":{"sub1":50,"sub2":48,"sub3":45}} , {"rollno":4,"name":"james","score":{"sub1":38,"sub2":35,"sub3":40}}]

我尝试单独打印这些值。为此我尝试添加一个循环

for i, details  := range studentdetails {

    glog.info("increment ", i)
    glog.info("name of student ", details.name)
    glog.info("mark of sub 1", details.score.sub1)
}

但我总是收到错误

“(type map[string]interface {} 没有字段或方法名称”” 我的结构如下

type scoreCard struct {
    subject1                int     `json:"id"`
    subject2                int     `json:"id"`
    subject3                int     `json:"id"`

}

type StudDetails    struct {

    roll int
    name string
    score scoreCard
}

解决方案


您创建的“StudentDetails”变量是映射类型。我认为你打算做的是这个

var StudentDetails = []StudDetails{ {"roll":3,"name":"John","score":{"subject1":50,"subject2":48,"subject3":45}}, {"roll":4,"name":"James","score":{"subject1":38,"subject2":35,"subject3":40}}, }

此外,您的结构字段名称存在一些不一致;创建实例时也应该使用定义期间使用的字段名称,否则您将收到错误。

以上就是《提取嵌套结构中的数值》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>