CLIツールで表を出力するとき、下記のパッケージを使うとかっこ良く表示できる。
出力例(olekukonko/tablewriterから引用):
+------+-----------------------+--------+
| NAME | SIGN | RATING |
+------+-----------------------+--------+
| A | The Good | 500 |
| B | The Very very Bad Man | 288 |
| C | The Ugly | 120 |
| D | The Gopher | 800 |
+------+-----------------------+--------+
これはこれで綺麗だが、出力された表を流用・加工する場合はスペースだったりタブのみで区切られていた方が使い勝手が良かったりする。
単純なタブ区切りなら、text/tabwriter
パッケージで出力可能。
package main
import (
"fmt"
"os"
"text/tabwriter"
)
func main() {
w := new(tabwriter.Writer)
w.Init(os.Stdout, 0, 8, 0, '\t', 0)
fmt.Fprintln(w, "a\tb\tc\td\t.")
fmt.Fprintln(w, "123\t12345\t1234567\t123456789\t.")
fmt.Fprintln(w)
w.Flush()
}