Go   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Index中的struct的Golang Template属性大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个使用golang模板的json字符串.有没有办法打印{{index .Apps 1}}的Name属性?下面是我正在运行的代码.在第31行,我试图只打印Apps [0]的Name属性.

http://play.golang.org/p/4RNevdqxP1

package main

import (
  "encoding/json"
  "os"
  "text/template"
)

type message struct {
   Name    String
   Id      int
   Apps    []App
   Company Company
}
type App struct {
   Name   String `json:"name"`
   Device String `json:"device"`
}
type Company struct {
  UserId String
 }

func main() {
  msg := []byte(`{
  "Name":"Bob","Id":1,"apps":[{"name":"app1","device":"ios"},{"name":"app2","device":"android"},{"name":"app3","device":"ios"}],"company":
  {
    "userId":"{{.NamE}}-{{.ID}}","app":["{{index .Apps 0}}","{{index .Apps 1}}"]
  }
}`)
var m message
json.Unmarshal(msg,&m)
t := template.New("My template")
t,_ = t.Parse(String(msg))

t.Execute(os.Stdout,m)
}

解决方法

您可以将其包装在括号中:

{{(index .Apps 1).NamE}}

Playground link

@H_675_23@

大佬总结

以上是大佬教程为你收集整理的Index中的struct的Golang Template属性全部内容,希望文章能够帮你解决Index中的struct的Golang Template属性所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。