columnize.go
func stringFormat(c *Config, widths []int, columns int) string {
	// Create the buffer with an estimate of the length
	buf := bytes.NewBuffer(make([]byte, 0, (6+len(c.Glue))*columns))

	// Start with the prefix, if any was given. The buffer will not return an
	// error so it does not need to be handled
	buf.WriteString(c.Prefix)

	// Create the format string from the discovered widths
	for i := 0; i < columns && i < len(widths); i++ {
		if i == columns-1 {
			buf.WriteString("%s\n")
		} else {
			fmt.Fprintf(buf, "%%-%ds%s", widths[i], c.Glue)
		}
	}
	return buf.String()
}
func stringFormat(c *Config, widths []int, columns int) string {
	// Create the buffer with an estimate of the length
	buf := bytes.NewBuffer(make([]byte, 0, (6+len(c.Glue))*columns))

	// Start with the prefix, if any was given. The buffer will not return an
	// error so it does not need to be handled
	buf.WriteString(c.Prefix)

	// Create the format string from the discovered widths
	for i := 0; i < columns && i < len(widths); i++ {
		if i == columns-1 {
			buf.WriteString("%s\n")
		} else {
			fmt.Fprintf(buf, "%%-%ds%s", widths[i], c.Glue)
		}
	}
	return buf.String()
}
func stringFormat ( c * Config , widths [ ] int , columns int ) string { // Create the buffer with an estimate of the length buf := bytes . NewBuffer ( make ( [ ] byte , 0 , ( 6 + len ( c . Glue ) ) * columns ) ) // Start with the prefix, if any was given. The buffer will not return an // error so it does not need to be handled buf . WriteString ( c . Prefix ) // Create the format string from the discovered widths for i := 0 ; i < columns && i < len ( widths ) ; i ++ { if i == columns - 1 { buf . WriteString ( " \n " ) } else { fmt . Fprintf ( buf , " " , widths [ i ] , c . Glue ) } } return buf . String ( ) }
// stringFormat, given a set of column widths and the number of columns in
// the current line, returns a sprintf-style format string which can be used
// to print output aligned properly with other lines using the same widths set.
stringFormat given a set of column widths and the number of columns in the current line returns a sprintf - style format string which can be used to print output aligned properly with other lines using the same widths set .