2016-07-04 5 views
0

Go 템플릿에서 범위 내 범위에 액세스하는 방법은 무엇입니까?범위 내에서 골란 템플릿

템플릿 :

{{range .Resume.Skills}}  
    {{.Name}} 
    {{.Level}} 
    {{range $item, $key := .Keywords}} 
      {{$key}} 
      {{$item}} 
    {{end}} 
{{end}} 

구조체 : 내가 볼 수

type SkillsInfo struct { 
    Name  string 
    Level string 
    Keywords []KeywordsInfo 
} 

type KeywordsInfo struct { 
    Keyword string 
} 

결과는 {}. 템플릿의 중첩 된 객체에 어떻게 액세스합니까?

--- Update-- :

type ResumeJson struct { 
    Basics  BasicsInfo 
    Work   []WorkInfo 
    Volunteer []VolunteerInfo 
    Education []EducationInfo 
    Awards  []AwardsInfo 
    Publications []PublicationsInfo 
    Skills  []SkillsInfo 
    Languages []LaunguagesInfo 
    Interests []InterestsInfo 
    References []ReferencesInfo 
} 

결과 지금은 볼 수 :

웹 개발 마스터 {} 0 {} 1 {} 2

ANS JSON 내가 구문 분석 :

"skills": [{ 
    "name": "Web Development", 
    "level": "Master", 
    "keywords": [ 
     "CSS", 
     "HTML", 
     "Javascript" 
    ] 
    }], 
+0

을 나는 그것이 내가 읽어 때문에 JSON 수 있습니다 느낌이있다 (업데이트). 그러나 왜 이런 생각이 들지 모르겠다. – Mangirdas

+0

템플릿에서 오류가 없다. 하지만 이제는 JSON 또는 Revel 프레임 워크를 생각하고 템플릿을 구현하는 방법을 생각해 봅니다. – Mangirdas

답변

1

키워드는 JSON에서 문자열 배열로 표시됩니다. 이 템플릿을

type SkillsInfo struct { 
    Name  string 
    Level string 
    Keywords []string 
} 

및 사용 : 다음 JSON과 일치하도록 이동 유형을 변경

{{range .Resume.Skills}}  
    {{.Name}} 
    {{.Level}} 
    {{range .Keywords}} 
    {{.}} 
    {{end}} 
{{end}} 

playground example