Go基础库之将文本与tabwrite对齐

Golang 版本

1.14.0

前言

在某些情况下,输出(通常是数据输出)是通过选项卡文本完成的,该文本在排列良好的单元格式中格式化。这种格式可以通过tex/tabwriter包来实现。该包提供了Writer过滤器,他将带有制表符的文本转换为格式正确的输出。

实现

创建文件tabwriter.go,代码如下

package main

import (
"fmt"
"os"
"text/tabwriter"
)

func main() {

    w := tabwriter.NewWriter(os.Stdout, 15, 0, 1, ' ',
        tabwriter.AlignRight)
    fmt.Fprintln(w, "username\tfirstname\tlastname\t")
    fmt.Fprintln(w, "sohlich\tRadomir\tSohlich\t")
    fmt.Fprintln(w, "novak\tJohn\tSmith\t")
    w.Flush()

}
$ go run tabwriter.go
       username      firstname       lastname
        sohlich        Radomir        Sohlich
          novak           John          Smith

原理

原理

NewWriter函数调用配置的参数创建Writer过滤器。 此Writer写入的所有数据都根据参数进行格式化。 os.Stdout在这里用于演示目的。

text/tabwriter包还提供了一些配置选项,例如flag参数。 最有用的是tabwriter.AlignRight,它将编写器配置为在每列中将内容对齐。


  • https://www.ganymedenil.com/2019/05/29/go-standard-library-by-align-text-with-tabwriter.html

你可能感兴趣的:(Go基础库之将文本与tabwrite对齐)