Man*_*das 6 go go-templates revel
如何在 Go 模板中访问范围内的范围?
模板:
{{range .Resume.Skills}}
{{.Name}}
{{.Level}}
{{range $item, $key := .Keywords}}
{{$key}}
{{$item}}
{{end}}
{{end}}
Run Code Online (Sandbox Code Playgroud)
结构:
type SkillsInfo struct {
Name string
Level string
Keywords []KeywordsInfo
}
type KeywordsInfo struct {
Keyword string
}
Run Code Online (Sandbox Code Playgroud)
我可以看到的结果是 {}。如何访问模板中的嵌套对象?
- -更新 - :
type ResumeJson struct {
Basics BasicsInfo
Work []WorkInfo
Volunteer []VolunteerInfo
Education []EducationInfo
Awards []AwardsInfo
Publications []PublicationsInfo
Skills []SkillsInfo
Languages []LaunguagesInfo
Interests []InterestsInfo
References []ReferencesInfo
}
Run Code Online (Sandbox Code Playgroud)
现在看到的结果:
Web 开发大师 {} 0 {} 1 {} 2
我解析的 ans JSON:
"skills": [{
"name": "Web Development",
"level": "Master",
"keywords": [
"CSS",
"HTML",
"Javascript"
]
}],
Run Code Online (Sandbox Code Playgroud)
关键字在 JSON 中表示为字符串数组。更改 Go 类型以匹配 JSON:
type SkillsInfo struct {
Name string
Level string
Keywords []string
}
Run Code Online (Sandbox Code Playgroud)
并使用此模板:
{{range .Resume.Skills}}
{{.Name}}
{{.Level}}
{{range .Keywords}}
{{.}}
{{end}}
{{end}}
Run Code Online (Sandbox Code Playgroud)