使用 tabwriter 转到文本/模板

我尝试使用带有文本/模板的漂亮表格,但列未对齐。文本/制表符工作,但文本/模板使代码更清晰。


如何将文本/模板与文本/制表符一起使用?


这是我的测试:


package main


import (

    "os"

    "text/template"

)


type a struct {

    Title string

    Items []items

}


type items struct {

    Title string

    Body  string

}


const templ = `{{.Title}}{{range .Items}}

{{.Title}}  {{.Body}}{{end}}

`


func main() {

    data := a{

        Title: "title1",

        Items: []items{

            {"item1", "body1"},

            {"item2", "body2"},

            {"verylongitem3", "body3"}},

    }

    t := template.New("test")

    t, _ = t.Parse(templ)

    t.Execute(os.Stdout, data)

}

输出 :


title1

item1   body1

item2   body2

verylongitem3   body3


九州编程
浏览 147回答 1
1回答

有只小跳蛙

代替t.Execute(os.Stdout, data)和w := tabwriter.NewWriter(os.Stdout, 8, 8, 8, ' ', 0)if err := t.Execute(w, data); err != nil {    // handle error}w.Flush()此外,将选项卡添加到您想要分栏的模板中。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go