mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			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|
 | 
						|
}
 |