为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Go 中将地图转换为 html 表格

如何在 Go 中将地图转换为 html 表格

Go
catspeake 2022-10-24 16:23:31
我是围棋新手并正在练习,请您帮忙将地图转换为围棋中的html表格吗?我有一个函数可以从一些休息端点获取一些数据,并根据我从端点返回的结果返回一个大小可以变化的地图。type color struct {   blue int   red  int}func fetchData() map[string]map[string]colour {}打印出这个函数的输出看起来像这样,但每次都会随着更多或更少的列而变化map[joe:map[alex: {3 6} may:{2 6}] jena:map[fred: {1 2}]]我想要一个像这样的 html 表:老师学生蓝笔红笔乔亚历克斯36可能26耶拿弗雷德12
查看完整描述

1 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

我认为最简单的方法是使用html/template包。text/template的文档解释了语法,以防您不熟悉模板引擎。

像这样(游乐场链接):

package main


import (

    "html/template"

    "os"

)


const tplStr = `<table>

    <thead>

        <tr>

            <th>Teacher</th>

            <th>Student</th>

            <th>Blue Pens</th>

            <th>Red Pens</th>

        </tr>

    </thead>

    <tbody>

        {{range $teacher, $rows := . }}

            {{ $first := true }}

            {{ range $student, $colors := . }}

            <tr>

                <td>{{ if $first }}{{ $first = false }}{{ $teacher }}{{ end }}</td>

                <td>{{ $student }}</td>

                <td>{{ $colors.Blue }}</td>

                <td>{{ $colors.Red }}</td>

            </tr>

            {{ end }}

        {{ end }}

    </tbody>

</table>`


type color struct {

    Blue int

    Red  int

}


func fetchData() map[string]map[string]color {

    return map[string]map[string]color{

        "joe": {

            "alex": {

                Blue: 3,

                Red:  6,

            },

            "may": {

                Blue: 2,

                Red:  6,

            },

        },

        "jena": {

            "fred": color{

                Blue: 1,

                Red:  2,

            },

        },

    }

}


func main() {

    tpl, err := template.New("table").Parse(tplStr)

    if err != nil {

        panic(err)

    }


    err = tpl.Execute(os.Stdout, fetchData())

    if err != nil {

        panic(err)

    }

}


查看完整回答
反对 回复 2022-10-24
  • 1 回答
  • 0 关注
  • 85 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信