如何在 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": …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Docker API和Docker Go库(https://github.com/docker/engine-api/)构建Docker镜像.代码示例:
package main
import (
"fmt"
"github.com/docker/engine-api/client"
"github.com/docker/engine-api/types"
"golang.org/x/net/context"
)
func main() {
defaultHeaders := map[string]string{"User-Agent": "engine-api-cli-1.0"}
cli, err := client.NewClient("unix:///var/run/docker.sock", "v1.22", nil, defaultHeaders)
if err != nil {
panic(err)
}
fmt.Print(cli.ClientVersion())
opt := types.ImageBuildOptions{
CPUSetCPUs: "2",
CPUSetMems: "12",
CPUShares: 20,
CPUQuota: 10,
CPUPeriod: 30,
Memory: 256,
MemorySwap: 512,
ShmSize: 10,
CgroupParent: "cgroup_parent",
Dockerfile: "dockerSrc/docker-debug-container/Dockerfile",
}
_, err = cli.ImageBuild(context.Background(), nil, opt)
if err == nil || err.Error() != "Error response from daemon: Server error" { …Run Code Online (Sandbox Code Playgroud)