22b955cca5
Reviewed-on: https://go-review.googlesource.com/25150 From-SVN: r238662
74 lines
2.0 KiB
Go
74 lines
2.0 KiB
Go
// Copyright 2012 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package tabwriter_test
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"text/tabwriter"
|
|
)
|
|
|
|
func ExampleWriter_Init() {
|
|
w := new(tabwriter.Writer)
|
|
|
|
// Format in tab-separated columns with a tab stop of 8.
|
|
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()
|
|
|
|
// Format right-aligned in space-separated columns of minimal width 5
|
|
// and at least one blank of padding (so wider column entries do not
|
|
// touch each other).
|
|
w.Init(os.Stdout, 5, 0, 1, ' ', tabwriter.AlignRight)
|
|
fmt.Fprintln(w, "a\tb\tc\td\t.")
|
|
fmt.Fprintln(w, "123\t12345\t1234567\t123456789\t.")
|
|
fmt.Fprintln(w)
|
|
w.Flush()
|
|
|
|
// output:
|
|
// a b c d .
|
|
// 123 12345 1234567 123456789 .
|
|
//
|
|
// a b c d.
|
|
// 123 12345 1234567 123456789.
|
|
}
|
|
|
|
func Example_elastic() {
|
|
// Observe how the b's and the d's, despite appearing in the
|
|
// second cell of each line, belong to different columns.
|
|
w := tabwriter.NewWriter(os.Stdout, 0, 0, 1, '.', tabwriter.AlignRight|tabwriter.Debug)
|
|
fmt.Fprintln(w, "a\tb\tc")
|
|
fmt.Fprintln(w, "aa\tbb\tcc")
|
|
fmt.Fprintln(w, "aaa\t") // trailing tab
|
|
fmt.Fprintln(w, "aaaa\tdddd\teeee")
|
|
w.Flush()
|
|
|
|
// output:
|
|
// ....a|..b|c
|
|
// ...aa|.bb|cc
|
|
// ..aaa|
|
|
// .aaaa|.dddd|eeee
|
|
}
|
|
|
|
func Example_trailingTab() {
|
|
// Observe that the third line has no trailing tab,
|
|
// so its final cell is not part of an aligned column.
|
|
const padding = 3
|
|
w := tabwriter.NewWriter(os.Stdout, 0, 0, padding, '-', tabwriter.AlignRight|tabwriter.Debug)
|
|
fmt.Fprintln(w, "a\tb\taligned\t")
|
|
fmt.Fprintln(w, "aa\tbb\taligned\t")
|
|
fmt.Fprintln(w, "aaa\tbbb\tunaligned") // no trailing tab
|
|
fmt.Fprintln(w, "aaaa\tbbbb\taligned\t")
|
|
w.Flush()
|
|
|
|
// output:
|
|
// ------a|------b|---aligned|
|
|
// -----aa|-----bb|---aligned|
|
|
// ----aaa|----bbb|unaligned
|
|
// ---aaaa|---bbbb|---aligned|
|
|
}
|